Google 中国“社区说”:AGP 编译构建的理解与优化 [回放和资料分享]

2023/06/02

上个月的 Google 中国“社区说”活动,是难得一遇的 Android Gradle Plugin(AGP) 效能专场。我邀请了三位一线的 Android 效能专家,一同分享了有关 AGP 实战与架构相关经验。由于很多朋友都在问本期直播是否有回放、PPT 下载等,于是这两天我整理后把相关内容都汇总到这篇文章。

本次活动分为四个专题分享,和一个结束前的 15 分钟自由 Q&A 时间。所有 PPT 已公开在该仓库,所有回放在下面介绍中。

《我在 B 站做工程效能》- 究极逮虾户

介绍哔哩哔哩在 MonoRepo 中的编译构建优化方案,融合多个不同的 App,将整个工程代码服务化,避免重复造轮子的情况发生,达到降本增效的目的。

《Android 同步优化:关闭 Jetifier》- 小灵通

AGP7.2.2 开始对 enableJetifier 开关进行了 warning 提示,本次分享会介绍 Jetifier 带来的同步耗时问题,分享排查耗时点的技巧,解决方法及后续防劣化的措施。

《快手的秒级编译探索之路》- 周全

在快手这类超大型 Android 项目中,常规的编译优化手段已经无法解决构建劣化问题。本次分享将带大家深入 AGP 源码,认识一些神坑,以及怎么用非常规的秒级编译手段解决他们。

《为 AAB 打包加点料》+ 结尾 15 分钟 Q&A - 2BAB

Android App Bundle(.aab) 是 Play Store 当前默认的 App 提交格式,我将分享 Bundle 与 BundleTool 自动化打包、导出解析 apks、辅助测试等流程。

活动亮点和组织者感悟

本次分享中,有两个较为具体主题(Jetifier 和 AAB),也有两个更全面和深入的效能优化主题(B 站和快手的编译构建优化思路),深入浅出地分享了近年来的一些热点话题。在结尾的自由 Q&A 中,我还和大家一起讨论了:

  • 关于 AI 工具对基建研发的助力:例如 Copilot 的补全、字节码拆解分析等等。
  • 小公司如何从大主题中找到适合自己基建升级的小方向?
  • ...

我在这次活动中从以往的分享嘉宾角色,进一步升级为组织者,包括策划主题、找人、拉群、筹备等等,最后还接下了主持的工作。这不仅是个人的成长,也是想办法让更多技术人能露面,让我们在做的有价值的事情让整个社区看见。我在活动前后各发了一条朋友圈表达了当下的心情:

目测这也是第一次中国大陆的 Android 开发分享活动中,设置了自由 Q&A 的 Closing Panel。这类环节是所有(或大量)嘉宾参与的一个活动结束前问答,目的是让观众扩展思路提出更多和当天“大主题”相关的问题,有趣的是因为嘉宾的讨论也可以带来很多非提前准备的内容,碰撞出火花。大家一定要记得看最后一个视频的后半部分。

最后,非常幸运去年我邀请赵锦江老师录制了一期二分电台,[《#17 技术大会,为谁而开?(https://binary.2bab.me/episodes/017-tech-conf)》],本次活动中的不少技巧就是从他的分享中学到的。对于组织技术分享活动感兴趣的朋友,也欢迎联系我探讨更多内容。

欢迎关注我的 Github / 公众号 / 播客 / Twitter


评论和交流请发送邮件到 [email protected]

Wechat Donate QACode
通过微信扫描赞赏码赞助此文