您的当前位置:首页记一次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'
    }
}

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top