什么是NDK?
NDK(本地开发工具包):是一个能让你在Android平台上使用C和C++的工具集,并且它提供了能让你管理和访问物理设备组件的平台函数库,例如:传感器和触摸输入。
NDK所需要的组件
Android Studio编译本地函数库的默认构建工具是CMake,对于大量使用构建工具的已经存在的项目Studio提供了ndk-build 工具。然而,如果你想创建一个新的本地库,应该使用CMake。
- NDK:让你能够在Android平台上使用C和C++的工具集。
- CMake:能够和Gradle一起工作来构建本地库的外部构建工具(external build tool。
- LLDB : Android Studio用来调试本地代码的调试工具。
创建或导入本地代码
在存在的Studio项目中添加或者导入本地代码应该使用一下基本过程:
- 创建一个新的源文件并将它们添加至Studio项目中。
- 创建一个CMake构建脚本告诉CMake如何将本地原文件将构建成库。如果你正在导入和链接之前内嵌或者是平台的库也需要这个构建文件。
- 通过提供CMake或者ndk-build脚本文件来将你的本地库连接到Gradle。Gradle会使用脚本文件来将源文件导入到Studio项目中并将本地库(SO文件)打包进APK。
注意:如果项目中使用了过时的ndk编译工具,你要在配置Gradle来使用CMake或者ndk-build之前打开build.properties文件并删除下面的那行代码。
// 把这行删掉
android.useDeprecatedNdk = true
- 开始构建并运行,Gradle会将CMake或者ndk-build构建过程作为依赖来进行编译,构建并用APK文件打包本地库。