Android Studio extractNativeLibs使Apk瘦身

项目配置如下

compileSdkVersion 29

targetSdkVersion 23

minSdkVersion 23

代码之前每次打包时大约60M左右,由于项目需求,添加了AndServer这个库

按照Git配置如下

buildscript中
dependencies {
    classpath 'com.android.tools.build:gradle:3.4.1'
    classpath 'com.yanzhenjie.andserver:plugin:2.1.9'
}

Module中

apply plugin: 'com.android.application'
apply plugin: 'com.yanzhenjie.andserver'
dependencies {
...
implementation 'com.yanzhenjie.andserver:api:2.1.9'
annotationProcessor 'com.yanzhenjie.andserver:processor:2.1.9'
}

添加完库  打包后发现Apk为120多M,大小翻了一倍

对比发现居然是压缩问题

两个Apk解压出来的大小几乎是一样大

折腾了两天居然发现在Manifests设置extractNativeLibs = "true"就行

<application
        android:extractNativeLibs="true"

然后打包出来的Apk就变成正常的60多M了

备注:

android:extractNativeLibs = true时,gradle打包时会对工程中的so库进行压缩,最终生成apk包的体积会减小。
但用户在手机端进行apk安装时,系统会对压缩后的so库进行解压,从而造成用户安装apk的时间变长。

关于android:extractNativeLibs默认值设定方面,若开发人员未对android:extractNativeLibs进行特殊配置:

minSdkVersion < 23 或 Android Gradle plugin < 3.6.0情况下,打包时默认
android:extractNativeLibs=true;
minSdkVersion >= 23 并且 Android Gradle plugin >= 3.6.0情况下,打包时默认
android:extractNativeLibs=false;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值