Failed to extract native libraries, res=-2

在工程中如果用了so库,在有的机器上安装apk可能会报这个错误,apk安装不上,报一句:Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]

出现这个问题的原因是在AndroidManifest.xml中的application标签中加了一句: android:extractNativeLibs="false".

这句的意思是编译apk的时候不压缩so库。去掉这句就OK了,但是这个会导致apk的体积非常大。

去掉这句后在app/build.gradle中添加:

packagingOptions{
    doNotStrip "*/armeabi/*.so"
    doNotStrip "*/armeabi-v7a/*.so"
    doNotStrip "*/x86/*.so"
}
如果SO库被压缩的很下,会导致调用so的时候启动内存非常大,会导致StackOverflow

猜你喜欢

转载自blog.csdn.net/LikeSidehu/article/details/80586026
今日推荐