您的当前位置:首页记一次apk没有打包so文件的经历
记一次apk没有打包so文件的经历
来源:锐游网
今天搞一个apk,有so库的,run之后闪退,看了打印信息是提示加载so库失败,找不到so库,分析apk文件确实没有打包so库进去,问度娘和谷哥,都无法解决,后来我查看一下我其他那些可以打包成功的apk,发现build.gradle文件使用了如下的参数:
sourceSets.main {
jniLibs.srcDirs 'src/main/jniLibs'
jni.srcDirs = [] // This prevents the auto generation of Android.mk
}
而不是:
sourceSets {
main {
jniLibs.srcDirs = ['jniLibs']
}
}
更改后打包成功。
环境是Android studio4.0.1。
但是在Android studio中直接run app后还是不行,安装后没有so库文件,只能adb install安装运行,纳闷。
上面只能adb install的问题找到解决方法,就是在主app的defaultConfig中添加
ndk { abiFilters "armeabi",'x86', 'armeabi-v7a', 'armeabi-v8a', 'arm64-v8a' }
例如我的例子里面就是
defaultConfig { applicationId "tv.danmaku.ijk.media.example" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode rootProject.ext.versionCode versionName rootProject.ext.versionName flavorDimensions "versionCode" ndk { abiFilters "armeabi",'x86', 'armeabi-v7a', 'armeabi-v8a', 'arm64-v8a' } }
因篇幅问题不能全部显示,请点此查看更多更全内容