Android威化饼项目:AAB编译速度提升70%,动态开发模式开源

4 下载量 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模式在提升编译速度、减少厂商成本和保持灵活性方面的优势,并期待更多开发者能通过这一创新方法提高工作效率。