CMake
和 NDK
在android studio项目中构建的实际区别是什么。我已经浏览了谷歌文档,但这个概念还不清楚。根据谷歌文档:
Android Native Development Kit (NDK): 一个工具集,允许您在 Android 中使用 C 和 C++ 代码,并提供平台库,允许您管理本机活动和访问物理设备组件,例如传感器和触摸输入。
CMake: 一个外部构建工具,与 Gradle 一起构建您的原生库。如果您只打算使用 ndk-build,则不需要此组件。
当我们需要使用什么时,任何人都可以通过示例进行更好的解释吗?
原文由 0xAliHn 发布,翻译遵循 CC BY-SA 4.0 许可协议
在这里澄清一些混淆:ndk-build 是包含在 NDK 中的构建系统。它使用
Android.mk
文件。 NDK 本身是为 Android 构建 C/C++ 代码所需的编译器和库的集合。 ndk-build 和 cmake 都使用 NDK。他们使用不同的语言(自定义 makefile 与 cmake)来描述构建。理想情况下,相同描述的构建的输出没有差异,但这并不意味着没有任何错误。
一般来说,使用您喜欢的任何系统。
CMake 的主要优势是您可以为所有目标(Android、Linux、Windows、iOS 等)使用一组构建文件。如果您的项目是跨平台的,那么 CMake 应该会让您最轻松。它在 Android 开发人员之外也广为人知,所以刚接触 Android 的人将有更好的机会理解它。
如果您正在构建一个已经使用
Android.mk
文件作为其构建系统(遗留项目)的项目,则应该首选 ndk-build。如果您正在编写新代码,请使用您喜欢的任何内容。如果您对其中任何一个都不熟悉,cmake 可能是更好的选择,因为如果您选择这样做,它将使将来的跨平台工作更容易。