Failed to extract native libraries, res=-2
最近升级了项目的gradle版本,打包的apk,通过adb安装,提示Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]
将apk放入Android studio中发现,Androidmanifest文件的application节点多了一个属性 android:extractNativeLibs="false"
,查询之后,才知道这个属性会控制会控制在打包的时候,对so库是否进行压缩,并使用zipalign做对齐操作。
extractNativeLibs配置为false,那么应用内的so库必须是已经对齐的,否则安装的时候,就会提示这个错误。
对于这个错误,一般采用配置android:extractNativeLibs为true,并配置不压缩对应的so库来处理。
1、配置extractNativeLibs
2、配置包压缩策略
之后就可以编译打包,正常安装了。
gradle对extractNativeLibs
默认值设定如下:
条件 | 默认值 |
---|---|
minSdkVersion < 23 或 Android Gradle plugin < 3.6.0 | true |
minSdkVersion >= 23 并且 Android Gradle plugin >= 3.6.0 | false |
压缩so库,那么apk体积就会减小,用户下载的时间会减少,但安装的时候,需要将原本被压缩的so库解压复制并解压一份,安装时间会边长,磁盘占用空间更大。
具体细节见 谷歌开发者平台
致敬前辈,砥砺前行!文章来源:https://www.toymoban.com/news/detail-408592.html
欢迎关注,留言,一起交流技术!
感谢支持!文章来源地址https://www.toymoban.com/news/detail-408592.html
到了这里,关于安装APK提示Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!