Android威化饼项目:AAB编译速度提升70%,动态开发模式开源
148 浏览量
更新于2024-08-30
收藏 1.04MB PDF 举报
本文档主要介绍了"分享篇 - 基于Android APP Bundle(AAB)开发的全新编译模式",该模式针对58 App面临的问题,如编译速度慢、包体积增大导致的厂商成本上升和推广转化率下降,提出了解决方案。项目背景部分提到,威化饼(Wafers)命名象征着分层、动态化设计,与Google的命名风格相符。
1. **项目背景**
随着58 App功能增多,包体变大,项目Wafers应运而生,旨在通过将所有业务线lib库改造为AAB,提升开发阶段的编译速度。项目划分为两个里程碑:首先完成所有业务线lib库的AAB改造,显著加快开发速度;其次,基于一期成果实现业务模块动态下载,目前正在进行中。
2. **效果展示**
- AAB模式的应用使初次编译速度相比传统模式分别提高了32%和33%,对于依赖不同的代码,增量编译速度提升更为显著,达到67%至70%。
- 特别是当库规模较小时,由于在开发期间使用自研插件修改字节码,实现了无侵入式开发,使得编译效率提升更加明显。
3. **实现方案**
- 采用AAB模式,开发期在工程壳中添加自研插件,通过修改字节码适应AAB格式,确保线上包不受影响,且支持两种开发模式切换。
- 适应市场趋势,Google Play全面支持AAB,预计国内也在逐步跟进。
4. **问题与挑战**
- 改造期间可能会遇到技术难题,例如兼容性和性能优化问题,但通过精心设计和优化,成功实现了高效开发和部署。
5. **开源与贡献**
Wafers项目被开源,目的是让更多团队受益,共同提高开发效率,为开发者提供一个更高效的开发工具。
总结来说,本文分享了58同城利用Android APP Bundle解决包管理问题的经验,展示了AAB模式在提升编译速度、减少厂商成本和保持灵活性方面的优势,并期待更多开发者能通过这一创新方法提高工作效率。
2021-01-06 上传
2021-01-28 上传
2024-05-15 上传
2018-05-22 上传
2019-03-22 上传
2017-10-19 上传
2011-06-05 上传
1734 浏览量
2020-09-01 上传
weixin_38592643
- 粉丝: 2
- 资源: 908
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全