shrinkResources 的使用
来源:互联网 发布:搞笑特效软件 编辑:程序博客网 时间:2024/06/01 07:31
一.背景
对于缩小APk大小,除了开启混淆
minifyEnabled true还有使用
shrinkResources true
说下这两者的区别minifyEnabled 这个是用来开启删除无用代码,比如没有引用到的代码
shrinkResources 用来开启删除无用资源,也就是没有被引用的文件(经过实测是drawable,layout,实际并不是彻底删除,而是保留文件名,但是没有内容,等等),但是因为需要知道是否被引用所以需要配合mififyEnable使用,只有当两者都为true的时候才会起到真正的删除无效代码和无引用资源的目的
Android官方文档
二.实际动手试试
同样的资源代码
1.只有minififyEnable false 或者 minififyEnable false && shrinkResources true
APK大小为1.39M
资源文件和layout都存在且是有内容的
2.只有minifyEnable true
866K
资源文件和layout都存在且是有内容的
3.minifyEnable true && shrinkResources true
资源文件在但是没有内容大小都变成67字节,layout文件内容被清空
4.minifyEnable true && shrinkResources true 在res/raw/keep.xml(避免被误删除)写了配置的
<?xml version="1.0" encoding="utf-8"?><resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@layout/activity_four,@drawable/no_reference_but_keep"/>没有在配置文件中声明保存的文件没有内容,声明保存的文件有内容(资源文件和layout文件)
注意:string.xml中没有被引用的怎么设置都不会被删除
可以通过gradlew clean assembleRelease - info来获得APK缩减资源的概览
当您压缩资源时,Gradle Console 会显示它从应用软件包中移除的资源的摘要。例如:
:android:shrinkDebugResourcesRemoved unused resources: Binary resource data reduced from 2570KB to 1711KB: Removed 33%:android:validateDebugSigning
0 0
- shrinkResources 的使用
- 使用shrinkResources true遇到的问题
- Android shrinkResources true 引发的血案
- Android shrinkResources true 引发的血案
- Android打包设置shrinkResources true引发的问题
- 慎用shrinkResources
- Androidstudio shrinkResources
- Android shrinkResources
- Android shrinkResources 问题
- Android gradle issue: WARNING [Project: :app] shrinkResources does not yet work with useJack=true
- GUID使用的使用
- ${}的使用
- 的使用
- @[],@()的使用
- ->的使用
- +、-、*、/、%的使用
- &&的使用
- %:的使用
- Xshell实现Windows上传文件到Linux主机
- JSP与Servlet的参数传递接收
- hdu 2010 水仙花数
- Spark On YARN自动调整Executor数量配置
- Selenium2自动化测试模型
- shrinkResources 的使用
- Lesson11-15
- 风口的猪---小米笔试题
- Log Structured Merge Trees(LSM) 原理
- Unicode学习笔记
- 将jpg图像转换成yuv420p格式
- 正向代理与反向代理的区别【Nginx读书笔记】
- 微信投票管理系统(二)对系统进行分析
- Java Jersey2使用总结