×

Android Studio 2.2+ NDK开发

96
JasonXiao
2016.10.17 11:27* 字数 519

Android Studio NDK开发

什么是NDK

NDK(Native Development Kit)是Google官方提供的一套方便开发者在Android平台上使用C和C++代码的工具库,同时NDK还提供了一些库(如:控制诸如传感器硬件等)供开发者使用。NDK主要在以下两个情况下使用:

  • 在游戏等应用中提高性能
  • 重用你的C和C++库
    Google并不建议大面积使用C和C++代码,一般情况下,这样并不能提高性能,相反还可以提高工程的复杂度和维护难度。

Android Studio NDK开发环境搭建

  1. 确保你的Android Studio版本在2.2及以上,Android Plugin for Gradle版本在2.2.0及以上
  2. 打开Android Studio中的SDK Manager(Tools > Android > SDK Manager),选择SDK Tools tab
  3. 在SDK Manager中下载NDK,CMake,LLDB,如下图:
  4. 创建一个新的工程(File > New > New Project),创建时勾选Include C++ Support,如下图:
  5. Run!界面上会显示一行C++中的Hello

工程解读

工程变化

Android Studio默认工程的内容可能会跟随Android Studio版本发生改变,但大体框架应该是不变的,下面我们来分析一下这个工程的结构。

C++ Support的工程主要有两个方面的变化,如下图所示:
<br />
  1. 增加了src/main/cpp/文件夹,这里放置你的C++源文件,头文件和库。<br />
  2. External Build Files包括了诸如CMake或ndk-build等编译脚本,Google官方推荐使用CMake。这些编译脚本里编写编译native library的规则。一般来说CMake文件放置在module的根目录下,你可以在该module的build gradle中指定这些脚本的地址。

编译过程

  1. Gradle调用external build script,CMakeLists.txt
  2. CMake将C++文件编译为so库,这些so库后续会被gradle打入apk包中
  3. 在运行时,Java代码中使用System.loadLibrary()导入native库,即可使用native方法

参考资料

  1. https://developer.android.com/studio/projects/add-native-code.html#create-sources
Android FFmpeg播放器制作
Web note ad 1