0

嗨,我是 android NDK Devlopment 的新手。我下载了适用于 windows 的 Android NDK 4。我通读了文档。但我不清楚。

首先是,我想开发可能是 c 0r c++ 的本机文件。我认为使用 Cygwin 会发挥作用。我不知道或如何使用 cygwin。从我刚刚阅读的文档中,Cygwin 是 Windows 所必需的平台。除此之外,我对此一无所知。

尚未开始使用 NDK 概念。需要帮助

4

2 回答 2

6

Cygwin 是一种使 Windows 支持某些 linux 功能的方法。如果你在你的 windows 机器上安装 cygwin,你就可以在 windows 上运行一些 linux 软件(你必须重新编译它,特别是为 cygwin)。您可以在此处找到它以及有关它的更多信息。此处的 wiki 页面也有很好的解释。

如果 Android NDK 需要它,我想 Android NDK 需要一些 linux 功能或工具才能正常工作。另一种选择可能是在机器上安装 Linux 并在那里运行 Android NDK,这可能会更好,因为我认为 Linux 是 Android NDK 开发的本机环境。

既然你说你对 NDK 有点不清楚,你可能应该知道,据我所知,你不能用它来构建一个完整的 Android 应用程序,你只能开发它的一部分,你仍然需要开发至少部分应用程序以在 Dalvik 虚拟机上运行,​​据我所知,这意味着您必须用 Java 编写该部分。一般来说,我认为你应该只用 Java 开发 Android 应用程序,除非有特定原因使用 NDK 构建它的某些部分。

于 2010-06-19T16:04:10.050 回答
2

来自 wiki:Cygwin(发音为 /ˈsɪɡwɪn/,[2] SIG-win)是 Microsoft Windows 的类 Unix 环境和命令行界面。Cygwin 提供基于 Windows 的应用程序、数据和其他系统资源与类 Unix 环境的应用程序、软件工具和数据的本地集成。因此,可以从 Cygwin 环境启动 Windows 应用程序,以及在 Windows 操作环境中使用 Cygwin 工具和应用程序。Cygwin 由两部分组成:作为 API 兼容层的动态链接库 (DLL),提供了 POSIX API 功能的重要部分,以及提供类 Unix 外观和感觉的大量软件工具和应用程序集合。

因此,Cygwin 是一组工具,可让您在 Windows 机器上模拟类 unix(或 linux)环境。

NDK 是 Android 原生开发工具包。它允许您使用本机代码 (C/C++) 编写应用程序的一部分并将它们集成到您的应用程序中。您的应用程序仍然在 Dalvik VM 下运行,但它可以加载使用交叉编译器创建的共享对象。NDK 包含生成本机代码二进制文件所需的所有工具和构建脚本。这是一个高级概念,您可能应该等到您完全理解架构之后再使用它。

它需要 Cygwin(或某种 linux 风格)的原因是因为它使用 GnuMake 和其他 linux 工具,例如 awk 或 Nawk。这些工具在 Windows 平台上不可用(或者真的很难使用),因此至少需要 Cygwin(尽管我建议你帮自己一个忙,只安装 linux)。

于 2010-06-21T20:13:07.010 回答