- 首先配置参数
defaultConfig {
externalNativeBuild {
ndkBuild {
arguments 'APP_STL=gnustl_static','APP_PLATFORM=android- 21','NDK_TOOLCHAIN_VERSION=4.9'
}
}
ndk {
abiFilters 'armeabi-v7a','arm64-v8a','armeabi'
}
}
arguemnts 是编译参数
abiFilters是编译平台
- 然后是指定make文件路径
externalNativeBuild {
ndkBuild //or cmake{
path 'jni/Android.mk'
}
}
- 最后如果Android.mk是在其他模块的话还要指定lib路径
sourceSets.main {
jniLibs.srcDir 'src/main/libs'
jni.srcDirs = []
}
- 编译app在build->Analyze APK 看看so在不在lib目录下
- 吐槽
从手动ndk-build到gradle-experimental 到现在的externalNativeBuild,在Android下写c++文件终于可以愉快的享受自动补全,断点调试了QAQ