NDK概念及Android Studio下NDK配置
2017-10-9
1.什么是NDK
Native Development Kit 本地开发工具包
2.什么是JNI
Java Native Interface JNI是java和C/C++互相调用的一套规范
NDK是基于JNI一套工具库
3.为什么使用NDK
- 性能/效率
- 安全
- 便于移植
- C/C++一些优秀开源库可以直接供java使用
4.NDK配置
- 下载CMake,LLDB,NDK(需要翻墙,梯子自备)

- 配置SDK,JDK,NDK路径,如下图

- 新建工程,步骤和普通工程一样,不一样的地方下图会标明
3.1. 勾选include C++ support

3.2. 勾选Exceptions Support(-fexceptions)/支持异常
勾选Runtime Type Information Support(-frtti)/支持运行时类型信息(多态类型转换)

- 一个支持C/C++的工程就完成了。
- jniLibs目录设置
android {
...
defaultConfig {
...
externalNativeBuild {
cmake {
//支持运行时类型信息和C++异常信息
cppFlags "-frtti -fexceptions"
}
}
}
...
//设置cmake文件路径
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
//设置.so、libs路径
sourceSets.main {
jniLibs.srcDirs = ['libs']
jni.srcDirs = []
}
}