美文网首页
关于高版本Gradle调试模式下无法正确打包so文件的问题

关于高版本Gradle调试模式下无法正确打包so文件的问题

作者: 电梯里漫舞 | 来源:发表于2021-04-01 17:11 被阅读0次

    问题描述

    在更新了gradle版本(gradle:4.0.2,gradle-6.8.3-all.zip)之后,出现在调试模式下直接点击安装应用出现无法找到动态库的报错问题,具体报错为:

    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xxx.xx-mliVdBSRHqfLNw9XZ0wRDQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.xxx.xx-mliVdBSRHqfLNw9XZ0wRDQ==/lib/arm64, /system/lib64, /vendor/lib64, /product/lib64]]] couldn't find "xxx.so"
    

    经过查看,生成的apk文件中不包含lib文件夹,导致的so文件缺失;若点击打包生成debug或release包则没有问题。

    解决方法

    1. 回退到之前的gradle版本(classpath 'com.android.tools.build:gradle:3.4.2',distributionUrl=https://services.gradle.org/distributions/gradle-5.1.1-all.zip),问题就可以解决;
    2. 在module的build.gradle文件中添加具体的abi选择,具体为:
    android {
      ...
        defaultConfig {
        ...
            //添加的内容,选择对应的abi
            ndk {
                abiFilters "armeabi", "armeabi-v7a"
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:关于高版本Gradle调试模式下无法正确打包so文件的问题

          本文链接:https://www.haomeiwen.com/subject/utntkltx.html