缩小apk体积,如何降低7M包体积
最近在缩小安装包体积的工作,总结一下学到的知识希望对大家有帮助
主要分为几个步骤
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包体积相关推荐
- 深入探索 Android 包体积优化(匠心制作-下)
前言 成为一名优秀的Android开发,需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~. 在 Android 性能优化的知识体系当中,包体积优化一直被排在优先级比较低的位置,从而导 ...
- 包体积优化·工具论·初识包体积优化
" [小木箱成长营]包体积优化系列文章: 包体积优化 · 实战论 · 怎么做包体积优化? 做好能晋升吗? 能涨多少钱? 包体积优化 · 方法论 · 揭开包体积优化神秘面纱 " 一. ...
- androidstudio打包apk 文件_Android 缩小apk体积过程记录
写在前面,这篇文章的目的是记录自己把打包的apk 从11M缩小为5.5M的过程. 先说一下PAD端软件的产生背景,在去年刚休完产假上班的第一周,就接到任务说要做一个针对设备端软件使用的PAD端,只要能 ...
- APK 如何做到包体积优化
关于 APK Size 的优化,网上有很多版本的介绍.但是因为每个项目的背景.实现方式都不尽相同,导致各个项目之间能列出的共性相对较少.所以这里主要分享一下我在项目中对包体积优化的一些尝试.主要分两部 ...
- 【Android】关于D8/R8那些事:Desugaring脱糖、APK包体积优化等
Desugaring脱糖? 不同的Android版本支持的Jvm版本不同,当使用当前Abndroid版本不支持的高版本jdk语法时,需要在编译期转换为其支持的低版本jdk语法,这个过程成为desuga ...
- 抖音Android包体积优化探索:从Class字节码入手精简DEX体积
前言 众所周知,应用安装包的体积会十分影响用户的应用下载速度和安装速度.据 GoolgePlay 平台对外发布相关的包大小对转化率影响的数据,我们可以看到随着包大小的增加,安装转化率总体呈下降的趋势. ...
- 【保姆级】包体积优化教程
市面上有很多优化方案,但是都没有一个完整的链路体系,现在它来了,本文将带你进阶新高度,不管是面试.绩效KPI,还是汇报宣讲,都能让你游刃有余! 前置必读: Android包体积优化(常规.进阶.极致) ...
- 超好的包体积优化教程,不仅仅是优化
作者:yechaoa 市面上有很多优化方案,但是都没有一个完整的链路体系,现在它来了,本文将带你进阶新高度,不管是面试.绩效KPI,还是汇报宣讲,都能让你游刃有余! 前置必读: Android包体积优 ...
- Android包体积优化(常规、进阶、极致)
前言 包大小的重要性已经不需要多说,包大小直接影响用户的下载,留存,甚至部分厂商预装强制要求必须小于一定的值.但是随着业务的迭代开发,应用会越来越大,安装包会不停的膨胀,因此包大小缩减是一个长期持续的 ...
最新文章
- 如何在Windows下使用Linux系统来编译和运行程序?
- MySQL查询本年的数据的sql语句
- 人工智能实践:TensorFlow笔记学习(五)—— 全连接网络基础
- .NET平台开发必须掌握的XML知识(二)
- 用sed和awk实现将文本中的上下两行合并为一行(转载)
- Android 驱动开发(14)---深入学习Linux Device Tree
- leetcode191-打家劫舍
- MySQL的DDL、DML、DCL、TCL什么意思?
- Lua中ipairs和pairs的区别详解
- SqlServer支持多表关联的分页存储过程
- 战略、业务流程和知识管理
- c# 类的序列化,以及嵌套问题
- matlab编辑器风格定制,怎么使用135编辑器编辑出文艺清新的风格排版(附文艺排版素材)?...
- python正则匹配日期2019-03-11_正则表达式验证日期(多种日期格式)——转载
- 不会讲故事,怎么带团队(用故事简化沟通,提升团队效率)--读后感
- 再次爬取干货集中营的福利图片
- Redis 之 SessionCallback RedisCallback 使用
- 音视频基础学习之【01.基于ffmpeg的简单播放器demo实现】
- 微服务架构深度解析与最佳实践 - 第五部分:七个应对策略之性能、一致性与高可用
- linux克隆后静态ip,Centos7克隆后配置静态ip无法上网
热门文章
- javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
- 安卓app添加底电耗模式和待机模式白名单
- 百度地图和高德地图,关于地图坐标系
- 放大的概念和放大电路的主要性能指标
- VGA DVI HDMI三种接口
- 【结构光三维重建】基于格雷码的相位展开方法(含代码)
- 牛客网 NC207429 最大值 KMP
- 【网络】流量监控 - iftop|ifstat|查看某个ip流量|tcpdump|iptraf|Linux
- cname解析教程_域名cname怎么解析 域名cname解析设置方法
- 从我的校长生涯谈原型和原型链