安装APK提示Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]

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.0true
minSdkVersion >= 23 并且 Android Gradle plugin >= 3.6.0false

压缩so库,那么apk体积就会减小,用户下载的时间会减少,但安装的时候,需要将原本被压缩的so库解压复制并解压一份,安装时间会边长,磁盘占用空间更大。
具体细节见 谷歌开发者平台


致敬前辈,砥砺前行!

欢迎关注,留言,一起交流技术!
感谢支持!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值