android进阶篇10、APK包大小优化

如果在应用的build.gradle 文件中启用了资源缩减:shrinkResources,则 Gradle 在打包APK时可以自动 忽略未使用资源。 资源缩减只有在与代码缩减:minifyEnabled 配合使用时才能发挥作用。在代码缩减器移除所有不使用的代码后,资源缩减器便可确定应用仍要使用的资源,从而在打包时优化这些资源 。

在项目application模块的build.gradle文件中修改如下

android {
、、、
buildTypes {
release {
signingConfig signingConfigs.config
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
}
}
、、、
}

2、自定义要保留的资源

我们在第一步中启用资源缩减之后,可能会因为缺少某个资源而不能编译成功,因为可能有的资源被间接引用了,但是也被缩减掉了,这时候我们可以手动配置保留资源;当然也可以声明废弃资源;

如果有想要特别声明需要保留或舍弃的特定资源,创建res/raw/keep.xml ,tools:keep 属性中指定每个要保留的资源,在tools:discard 属性中指定每个要舍弃的资源。这两个属性都接受以逗号分隔的资源名称列表。还可以将星号字符用作通配符。

keep.xml如下所示

<?xml version="1.0" encoding="utf-8"?>

3、使用Lint分析器

lint工具是 Android Studio 中附带的静态代码分析器,可检测到res/ 文件夹中未被代码引用的资源。 lint 工具不会扫描assets/ 文件夹、通过反射引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值