最近在缩小安装包体积的工作,总结一下学到的知识希望对大家有帮助
主要分为几个步骤
1.删除无用资源
2.多业务线资源去重
3.资源压缩处理
4.资源混淆工具
5.7zip压缩
第一步:删除无用资源

参考:打包时删除无用资源

第二步:多业务线资源去重

如果app中包含多个业务线难免会有不同名的资源重复,推荐一个扫描重复资源的工具:Duplicate Cleaner Pro

第三步:资源压缩处理

利用工具对图片和音频进行压缩推荐两个工具
图片压缩工具:
https://imageoptim.com/mac (mac版)
https://imageoptim.com/versions.html (windows,linux版)
音频压缩工具:
http://trac.ffmpeg.org/wiki/CompilationGuide/MacOSX

第四步:微信混淆工具
微信混淆工具可以提高apk安全性,也能大大的减少apk大小强烈推荐
以下是关于这个工具的介绍和使用书名
http://mrljdx.com/2015/12/18/资源混淆方案之微信vs美团/
https://github.com/shwenzhang/AndResGuard/blob/master/README.zh-cn.md
注意:如果你有读取包中文件的操作不能用这个工具,因为把资源名混淆后无法找到对应文件

第五步:7zip压缩
http://www.cnblogs.com/AsionTang/p/3898640.html
这个工具听说可以缩小不少体积 但笔者没有用过

缩小apk体积,如何降低7M包体积相关推荐

  1. 深入探索 Android 包体积优化(匠心制作-下)

    前言 成为一名优秀的Android开发,需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~. 在 Android 性能优化的知识体系当中,包体积优化一直被排在优先级比较低的位置,从而导 ...

  2. 包体积优化·工具论·初识包体积优化

    " [小木箱成长营]包体积优化系列文章: 包体积优化 · 实战论 · 怎么做包体积优化? 做好能晋升吗? 能涨多少钱? 包体积优化 · 方法论 · 揭开包体积优化神秘面纱 " 一. ...

  3. androidstudio打包apk 文件_Android 缩小apk体积过程记录

    写在前面,这篇文章的目的是记录自己把打包的apk 从11M缩小为5.5M的过程. 先说一下PAD端软件的产生背景,在去年刚休完产假上班的第一周,就接到任务说要做一个针对设备端软件使用的PAD端,只要能 ...

  4. APK 如何做到包体积优化

    关于 APK Size 的优化,网上有很多版本的介绍.但是因为每个项目的背景.实现方式都不尽相同,导致各个项目之间能列出的共性相对较少.所以这里主要分享一下我在项目中对包体积优化的一些尝试.主要分两部 ...

  5. 【Android】关于D8/R8那些事:Desugaring脱糖、APK包体积优化等

    Desugaring脱糖? 不同的Android版本支持的Jvm版本不同,当使用当前Abndroid版本不支持的高版本jdk语法时,需要在编译期转换为其支持的低版本jdk语法,这个过程成为desuga ...

  6. 抖音Android包体积优化探索:从Class字节码入手精简DEX体积

    前言 众所周知,应用安装包的体积会十分影响用户的应用下载速度和安装速度.据 GoolgePlay 平台对外发布相关的包大小对转化率影响的数据,我们可以看到随着包大小的增加,安装转化率总体呈下降的趋势. ...

  7. 【保姆级】包体积优化教程

    市面上有很多优化方案,但是都没有一个完整的链路体系,现在它来了,本文将带你进阶新高度,不管是面试.绩效KPI,还是汇报宣讲,都能让你游刃有余! 前置必读: Android包体积优化(常规.进阶.极致) ...

  8. 超好的包体积优化教程,不仅仅是优化

    作者:yechaoa 市面上有很多优化方案,但是都没有一个完整的链路体系,现在它来了,本文将带你进阶新高度,不管是面试.绩效KPI,还是汇报宣讲,都能让你游刃有余! 前置必读: Android包体积优 ...

  9. Android包体积优化(常规、进阶、极致)

    前言 包大小的重要性已经不需要多说,包大小直接影响用户的下载,留存,甚至部分厂商预装强制要求必须小于一定的值.但是随着业务的迭代开发,应用会越来越大,安装包会不停的膨胀,因此包大小缩减是一个长期持续的 ...

最新文章

  1. 如何在Windows下使用Linux系统来编译和运行程序?
  2. MySQL查询本年的数据的sql语句
  3. 人工智能实践:TensorFlow笔记学习(五)—— 全连接网络基础
  4. .NET平台开发必须掌握的XML知识(二)
  5. 用sed和awk实现将文本中的上下两行合并为一行(转载)
  6. Android 驱动开发(14)---深入学习Linux Device Tree
  7. leetcode191-打家劫舍
  8. MySQL的DDL、DML、DCL、TCL什么意思?
  9. Lua中ipairs和pairs的区别详解
  10. SqlServer支持多表关联的分页存储过程
  11. 战略、业务流程和知识管理
  12. c# 类的序列化,以及嵌套问题
  13. matlab编辑器风格定制,怎么使用135编辑器编辑出文艺清新的风格排版(附文艺排版素材)?...
  14. python正则匹配日期2019-03-11_正则表达式验证日期(多种日期格式)——转载
  15. 不会讲故事,怎么带团队(用故事简化沟通,提升团队效率)--读后感
  16. 再次爬取干货集中营的福利图片
  17. Redis 之 SessionCallback RedisCallback 使用
  18. 音视频基础学习之【01.基于ffmpeg的简单播放器demo实现】
  19. 微服务架构深度解析与最佳实践 - 第五部分:七个应对策略之性能、一致性与高可用
  20. linux克隆后静态ip,Centos7克隆后配置静态ip无法上网

热门文章

  1. javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
  2. 安卓app添加底电耗模式和待机模式白名单
  3. 百度地图和高德地图,关于地图坐标系
  4. 放大的概念和放大电路的主要性能指标
  5. VGA DVI HDMI三种接口
  6. 【结构光三维重建】基于格雷码的相位展开方法(含代码)
  7. 牛客网 NC207429 最大值 KMP
  8. 【网络】流量监控 - iftop|ifstat|查看某个ip流量|tcpdump|iptraf|Linux
  9. cname解析教程_域名cname怎么解析 域名cname解析设置方法
  10. 从我的校长生涯谈原型和原型链