好久没有折腾Android客户端开发了,今天有时间下载了最新的AndroidStudio工具(版本4.1.1),导入很久以前开发的NDK项目准备修改些内容,但奇怪的事情发生了,如gradle版本兼容问题、so库编译问题等,gradle问题都很容易解决掉了,但so打包问题很是奇怪。
现象 : 通过Build编译的app so就正常打包进去,而通过run和debug模式的app就没有so文件,编译的app也比Build的小了不少,关键就是缺少libso库导致。
解决办法:在有jnilibs so库的build.gradle文件中添加如下代码即可,如下:
buildTypes {
debug {
minifyEnabled true
ndk {
abiFilters "armeabi","armeabi-v7a","x86"
}
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
} 以上红色字体debug部分就是新添加的内容,其中"armeabi","armeabi-v7a","x86"是对应我们jni lib目录文件夹名称,一定要准确添加,否则也会编译不进去的。 |