在有mk位置的gradle文件的android括号内加上
task ndkBuild(type: Exec) {
commandLine 'E:\\Android\\sdk\\ndk-bundle2\\ndk-build.cmd',
'NDK_PROJECT_PATH=build/intermediates/ndkBuild',
'NDK_LIBS_OUT=src/main/libs',
'APP_BUILD_SCRIPT=src/main/jni/Android.mk',
'NDK_APPLICATION_MK=src/main/jni/Application.mk'
}
这样就可以使得不同项目里ndk版本可以使用不同,不用每次修改环境变量的ndk路径重启,也不用make module把java编制.class增加编译时间,只需要单纯编译cpp就行了。
右边task生成ndkbuild,双击就可以生成so
单纯使用localproperties配置ndk目录,是可以配置,这时候不能在命令行敲ndk-build,因为这个是用到环境变量的ndk路径,而不是localproperties配置的路径。这时候如果在这个文件用这个路径,就要make module就行了,但是是不会用到application.mk里的cpu平台的架构配置,externalNativeBuild会忽略掉APP_ABI,这时候要在gradle里配置。
externalNativeBuild { ndkbuild { //生成多个版本的so文件 abiFilters 'armeabi','armeabi-v7a','x86' } }