首页 >> 大全

Android-APK瘦身实践:二次瘦身如何再减少大小?

2023-10-06 大全 24 作者:考证青年

最终,apk减小了188k。

4. 大图缩小

如果经过上面的步骤,依然存在大图的话,说明确实图有点大了,可能真的有点大了!

所以,要考虑的问题是,是否有必要保证如此的大小?能否缩小?如果这方面能减小的话,apk瘦身的效果必然又会上一个档次。

5. 覆盖aar里的一些默认的大图

一些aar库里面包含根本就没有用的图。最典型的是-v4兼容库中包含一些“可能”用到的图片,实际上在你的app中不会用到。

我没有把所有图都替换掉,只是把几张大一点点的图(选中的那些图)用1×1的图片替换,如果图的话,要做成3×3的图替换。

库可能还算好的,就怕有些库引用了一些大图而不自知,可以在/build//-aar/下的各个aar库的res目录查找检验。

apk减小了18k。

有问题可以加下[技术交流群](()一起来讨论~

6. 删除-v7包的so

感谢@杨辉__ ,@kymjs张涛的提醒,-v7和文件夹可以只保留。

当然,-v7a的库会对图形渲染方面有很大的改进,因为我们主要是一些业务上动态库,所以删掉无大碍。

apk减小了191k。

7. 微信资源压缩打包

这个方案网上一直在说,之前一直没有需求或者动力实践,在这里感谢一下@裸奔的凯子哥的推荐和交流,他那边的apk可以压小1M,效果还是比较惊人的。

这个步骤我是在后面很多步压缩之后测试的,每个阶段的压缩结果都会有些许出入,所以数据仅供参考。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img--17)(%/2/w/1240)]

通过正常压缩,apk包减小了464k。

如果开启7zip,apk包减小了594k。

apk减小了594k。

PS: 关于这个压缩,我集成到了脚本中了,新建了一个Task,大概代码如下:

task {

// 在现有的版本上生成到目录下

def appid = “appid”

_程序瘦身大小压缩_大小有助于减肥

def = “”

def = file(’…//-1.1.jar’)

def = file(’…//.xml’)

def = file("…/app. a p p i d / b u i l d / o u t p u t s / a p k / r e l e a s e / {appid}/build//apk// appid/build//apk//{appid}-- r o o t P r o j e c t . e x t . v e r s i o n N a m e − {.ext.}- .ext.−{.ext.}- c h a n n e l . a p k " ) d e f o u t p u t D i r = f i l e ( " . . / a p p . {}.apk") def = file("../app. .apk")=file("../app.{appid}/build//apk//")

def = file()

// 开始执行压缩命令

def proc = “java -jar ${} ${} - ${} -out ${} - ${} ${RD} ${} ${}”.();

proc.();

“ code: ${ proc.()}” + “, : ${proc.err.text}” + " : ${proc.in.text}"

开启了7zip, 部分配置如下:

开源项目《//P7//git》 t"=“true”>

/>

[详情参考](()

[原理介绍](()

8. 深度混淆代码

之前为了简单起见,很多包都直接忽略了,现在启动严格模式,把能混淆的都混淆了:

采用微信压缩方案最终效果比较:

apk减小了215k。

PS:混淆后,一定要经过严格测试,有时候甚至很难发现错误,比如我开启严格混淆,用了一段时间之后慢慢发现了两个bug,排除了两个包程序才正常。

9. 深度清理代码和资源

有意思的是,无论何时何地去清理代码和资源,总能有新的发现:

apk减小了66k。

10. 去符号表

之前为了保留调试信息,我们是在保留了符号表的:

- ,

大小有助于减肥_程序瘦身大小压缩_

官方渠道我觉得还是尽量保留这个,现在针对推广渠道,只能采用特殊手段,注释这一行。

apk减小了230k。

ps:以后友盟上看推广渠道的bug要辛苦一点,手动上传.txt了。

####11. 关键字

可以对仅在运行时需要的库设置关键字,实际并不被打包:

’com..:-:22.0.0’

我没有发现这样的场景,如果说有的话,就是-,但是经过后来的测试验证,-本来就会在版本中被掉,所以对-设置是没有意义的。

如果有实际场景,欢迎留言说明,不甚感激。

apk没有减小。

12. 表情包在线化

虽然应用的表情不多,只有50来个,但是如果能把这部分表情放到网上,不仅能有效减小apk大小,还可以方便后期扩展支持:

打包成 《学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》开源 .zip, 大小是202k。

现在把.zip放到网上,按需下载后使用,最终对比结果如下:

apk减小了193k。

13. 全版本兼容的着色方案

考虑着色方案主要目的是更方便支持多主题,减轻UI工作量,减少工程里一大堆文件等,然后才是,顺便的减小一下apk大小。

通过着色方案,我们去除了10多张纯色的按下状态图片和对应的xml等等。

最后

希望大家能有一个好心态,想进什么样的公司要想清楚,并不一定是大公司,我选的也不是特大厂。当然如果你不知道选或是没有规划,那就选大公司!希望我们能先选好想去的公司再投或内推,而不是有一个公司要我我就去!还有就是不要害怕,也不要有压力,平常心对待就行,但准备要充足。最后希望大家都能拿到一份满意的 offer !如果目前有一份工作也请好好珍惜好好努力,找工作其实挺累挺辛苦的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

珍惜好好努力,找工作其实挺累挺辛苦的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

[外链图片转存中…(img--20)]

tags: apk

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了