欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

java.lang.RuntomeException: lib/arm64-v8a/路径下没有libinet.2.0.1.so

程序员文章站 2021-11-28 11:21:20
...

最近项目中需要使用阿里巴巴的阿里百川IM、在使用过程中需要导入他们的SDK、里面就有so库(有armeabi、armeabi-v7a、x86)、然后奇葩的是编译没有任何问题、在启动的时候就报错了、提示如图

java.lang.RuntomeException: lib/arm64-v8a/路径下没有libinet.2.0.1.so


看到了吗、提示我arm64-v8a文件夹下没有对应的库、也说不需要这个删除掉、但我明明没有arm64-v8a啊!!!

真的很郁闷、后来我就不信了、就把生成的apk(编译后会生成apk,在buildoutputsapk这个目录下)用压缩软件打开、在libs下果然发现了arm64-v8a、还莫名其妙的出现很多so库、也没什么用于是我就删掉了

但是问题是我根本就没有这样的、为什么会出来呢、即使我删除掉估计还会自动生成的、于是我就在项目的app.gradle下这样写即可了:

buildTypes {  
    release {  
        ndk {  
            //增加这个主要是限制只能有这几个so库的文件夹,否则莫名其妙出现其它的文件夹导致报错  
            abiFilters "armeabi", "armeabi-v7a", "x86"  
        }  
    }  

    debug {  
        ndk {  
            abiFilters "armeabi", "armeabi-v7a", "x86"  
        }  
    }  
}  


就是那个ndk那几项、应该是强制约定这几个吧、好了、重新编译运行搞定了、希望能帮助大家