Android Studio NDK开发
什么是NDK
NDK(Native Development Kit)是Google官方提供的一套方便开发者在Android平台上使用C和C++代码的工具库,同时NDK还提供了一些库(如:控制诸如传感器硬件等)供开发者使用。NDK主要在以下两个情况下使用:
- 在游戏等应用中提高性能
- 重用你的C和C++库
Google并不建议大面积使用C和C++代码,一般情况下,这样并不能提高性能,相反还可以提高工程的复杂度和维护难度。
Android Studio NDK开发环境搭建
- 确保你的Android Studio版本在2.2及以上,Android Plugin for Gradle版本在2.2.0及以上
- 打开Android Studio中的SDK Manager(Tools > Android > SDK Manager),选择SDK Tools tab
-
在SDK Manager中下载NDK,CMake,LLDB,如下图:
-
创建一个新的工程(File > New > New Project),创建时勾选Include C++ Support,如下图:
- Run!界面上会显示一行C++中的Hello
工程解读
工程变化
Android Studio默认工程的内容可能会跟随Android Studio版本发生改变,但大体框架应该是不变的,下面我们来分析一下这个工程的结构。
- 增加了src/main/cpp/文件夹,这里放置你的C++源文件,头文件和库。<br />
- External Build Files包括了诸如CMake或ndk-build等编译脚本,Google官方推荐使用CMake。这些编译脚本里编写编译native library的规则。一般来说CMake文件放置在module的根目录下,你可以在该module的build gradle中指定这些脚本的地址。
编译过程
- Gradle调用external build script,CMakeLists.txt
- CMake将C++文件编译为so库,这些so库后续会被gradle打入apk包中
- 在运行时,Java代码中使用System.loadLibrary()导入native库,即可使用native方法