android gradle build resources.arsc文件未压缩问题解决

在将build系统从ant迁移到gradle时,发现gradle编译的APK比ant的大约1MB,原因是resources.arsc文件未压缩。尝试设置shrinkResources为true,但效果不明显。通过分析apk详细信息,发现ant能有效压缩resources.arsc。由于gradle缺乏直接设置deflate模式的配置,选择在build后期对resources.arsc进行二次压缩,实现了自然且理想的压缩效果。
摘要由CSDN通过智能技术生成

随着google如火如荼的推出android studio IDE和gradle buld工具,很多公司要对build系统做从ant到gradle的升级,不幸的是我被分配负责该任务。


发现一个问题,gralde编译后的apk比ant要大大约1M左右,对于老大之前严格要求控制apk在10M左右的需求,只能说造化弄人。压缩包打开发现gradle build之后的apk resources.arsc没有压缩,导致apk增大很多。

于是乎,设置resource shrink 为true,结果如下:


图一:ant打包之后的详单:


图二:gradle shrinkResources false的详单


图三:gradle shrinkResources true的详单


结果发现:ant打包后的resources.arsc,从1.1M压缩到267K,还是比较狠的。

至于是否shrinkResources,没有什么效果

aapt l -v Client-release-unsigned-ant.apk ,查看apk明细:

发现ant包和gradle包的差异:

 Length   Method    Size  Ratio   Offset      Date  Time  CRC-32    Name
1158688  Deflate  273481  76%   9835381  11-17-15 15:18  04aecb3e  resources.arsc -------- <span style="color:#ff0000;">ant build apk</span>
1158508  Stored  1158508   0%   2899860  11-17-15 15:21  9222ccf9  resources.arsc   -------- <span style&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值