基本配置
不论使用哪种方式,首先需要配置ndk路径。
依次打开file -> project structure -> SDK Location
在Android Ndk Locaiton
中填入你的ndk路径
DeprecateNDKBuild
这种方法已被官方标记未废弃,将在gradle 3.0被正式弃用。
- 在
gradle.properties
中加入android.useDeprecatedNdk=true
build.gradle
中的android.defaultConfig
中加入:
ndk{
moduleName 'test' //模块名,编译得到的so的名称
stl 'gnustl_shared' //如果没有用到stl,可以不用设置
ldLibs 'log' //其他so依赖
cFlags '-std=c++11' //配置cflags
abiFilters 'armeabi-v7a' //abi过滤,具体看需要发布到哪些平台
}
externalNativeBuild(cmake ndk-build)
具体参考官方文档:https://developer.android.com/ndk/guides/cmake.html
tips
DeprecateNDKBuild的方式显然是不推荐的。externalNativeBuild中笔者更推荐cmake的方式,cmake的方式可以允许你将来将这些库复用到非Android的平台。