More than one file was found with OS independent path 'lib/x86/libruntimecore_java.so'

一.错误原因

其一,项目中同时存在在线依赖和本地依赖动态库的情况;

其二,项目app模块和依赖模块同时导入了armeabi-v7a,arm64-v8a,x86等架构包。

像我这个错误是因为so文件与其他第三库中的so文件重复引用,导致编译出错;

二.解决

在对应的应用build.gradle文件中添加如下代码:

android {
   ....
    
    packagingOptions {
        pickFirst 'lib/armeabi-v7a/your_name.so'
        pickFirst 'lib/arm64-v8a/your_name.so'
        pickFirst 'lib/x86/your_name.so'
        pickFirst 'lib/x86_64/your_name.so'
    }
}

pickFirst的意思是:如果多个路径匹配第一个选择,则只会选择找到的第一个。

你可能感兴趣的:(android)