不久前写了篇文章《 Google I/O 21 Android Gradle Plugin 更新总结》,今天被 Google 的 “Android 开发者” 转载了。不过今天收到了一些反馈是:能不能也写写 Gradle 和 AGP 基础的文章。确实我接触过的绝大多数 Android 开发者都对 Android 构建方面的知识有种敬畏感,Gradle + Android Gradle Plugin ( AGP )的组合复杂度不低,而互联网上能找到的系统性资料稀少(英文都不多,中文就更少啦),大家有时候想学也难以下手,比如看看下面这些底层工具技术以及架构应用:
底层技术:Gradle 、AGP 、Annotation Processor ( AP )、AAPT 、D8&R8 、ByteCode modification 、Dex modification 、Kotlin Compiler 、ZIP&APK&AAR&AAB 、IDE Plugin 、etc.
架构应用:依赖注入、组件化、插件化、多渠道包、SDK 按需接入、白牌应用、多维度测试(单元、集成、功能测试)、安全防护(混淆、加壳、native 加密...),Jetpack Compose 、CICD 以及更多其他的自动化流程;
编译构建的知识不仅是为了加快构建速度,还包含了自动化、架构优化的诸多方面,甚至与运行时的合作联动。也因此,我一直在思考对于这类文章的广度和深度应该怎么样去调整——啊,想破脑袋不如找广大的开发者们投个票好啦。AB 才疏学浅,下方的选项仅基于个人的理解来编写,有不足之处欢迎私信我提建议~
build.gradle(.kts)
,对 Gradle 、AGP 有基础的认知,例如了解 Gradle 的任务机制,但碰到非 App 源码的编译错误有点不知所措;buildSrc
模块抽取并统一管理依赖、使用自定义 Task 组合 CICD 的流程,运用一些最佳实践来提高编译构建效率;由于 V2 没有投票功能,还麻烦大家扫个码或者用 wx 点这个链接投~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.