AGP升级7.0及适配Replugin的多包名工程改造
前言
随着AGP版本以及kotlin的普及,以及compose逐渐被大家接受,为了可以使用更多的新特性以及更好的性能,升级Android Gradle Plugin(AGP)以及Kotlin Gradle Plugin (KGP)已经是必不可少的步骤之一,其中AGP版本7.0、8.0的更新有较大的变化,本文会对自己的玩安卓项目进行AGP7.0的升级并且分享最近遇到的多包名工程化改造以及适配遇到的问题
AGP 版本参考与升级参考
推荐参考AGP 7.0升级
Gradle插件版本与gradle版本
| AGP插件版本 | 所需的最低 Gradle 版本 |
|---|---|
| 8.1 | 8.0 |
| 8.0 | 8.0 |
| 7.4 | 7.5 |
| 7.3 | 7.4 |
| 7.2 | 7.3.3 |
| 7.1 | 7.2 |
| 7.0 | 7.0 |
| 4.2.0+ | 6.7.1 |
| 4.1.x | 6.5 |
| 4.0.x | 6.1.1 |
| 3.6.x | 5.6.4 |
| 3.5.x | 5.4.1 |
| 3.4.x | 5.1.1 |
| 3.3.x | 4.10.x |
| 3.2.x | 4.6.x |
| 3.1.x | 4.4.x |
| 3.0.x | 4.1.x |
Gradle 版本与kotlin插件版本
| KGP version | Gradle min and max versions | AGP min and max versions |
|---|---|---|
| 1.9.0 | 6.8.3 – 7.6.0 | 4.2.2 – 7.4.0 |
| 1.8.20 | 6.8.3 – 7.6.0 | 4.1.3 – 7.4.0 |
| 1.8.0 | 6.8.3 – 7.3.3 | 4.1.3 – 7.2.1 |
| 1.7.20 | 6.7.1 – 7.1.1 | 3.6.4 – 7.0.4 |
| 1.7.0 | 6.7.1 – 7.0.2 | 3.4.3 – 7.0.2 |
| 1.6.20 | 6.1.1 - 7.0.2 | 3.4.3 - 7.0.2 |
Gradle版本、Kotlin语言版本参考
| Gradle version | Embedded Kotlin version | Kotlin Language version |
|---|---|---|
| 5.0 | 1.3.10 | 1.3 |
| 5.1 | 1.3.11 | 1.3 |
| 5.2 | 1.3.20 | 1.3 |
| 5.3 | 1.3.21 | 1.3 |
| 5.5 | 1.3.31 | 1.3 |
| 5.6 | 1.3.41 | 1.3 |
| 6.0 | 1.3.50 | 1.3 |
| 6.1 | 1.3.61 | 1.3 |
| 6.3 | 1.3.70 | 1.3 |
| 6.4 | 1.3.71 | 1.3 |
| 6.5 | 1.3.72 | 1.3 |
| 6.8 | 1.4.20 | 1.3 |
| 7.0 | 1.4.31 | 1.4 |
| 7.2 | 1.5.21 | 1.4 |
| 7.3 | 1.5.31 | 1.4 |
| 7.5 | 1.6.21 | 1.4 |
| 7.6 | 1.7.10 | 1.4 |
| 8.0 | 1.8.10 | 1.8 |
| 8.2 | 1.8.20 | 1.8 |
| 8.3 | 1.9.0 | 1.8 |
AndroidStudio版本与kotlin插件版本
| Android Studio 版本 | Kotlin 插件版本 | Kotlin 版本 |
|---|---|---|
| 3.0.x | 1.2.x | 1.2.x |
| 3.1.x | 1.2.x - 1.2.61 | 1.2.x |
| 3.2.x | 1.3.x - 1.3.50 | 1.3.x |
| 3.3.x | 1.3.x - 1.3.50 | 1.3.x |
| 3.4.x | 1.3.x - 1.3.50 | 1.3.x |
| 3.5.x | 1.3.x - 1.3.50 | 1.3.x |
| 3.6.x | 1.3.x - 1.3.72 | 1.3.x |
| 4.0.x | 1.4.x - 1.4.31 | 1.4.x |
| 4.1.x | 1.4.x - 1.4.31 | 1.4.x |
| 4.2.x | 1.5.x - 1.5.21 | 1.5.x |
| 4.3.x | 1.5.x - 1.5.21 | 1.5.x |
| 2020.1.x | 1.4.x - 1.4.31 | 1.4.x |
| 2020.2.x | 1.4.x - 1.4.31 | 1.4.x |
| 2020.3.x | 1.4.x - 1.4.31 | 1.4.x |
| 4.4.x | 1.6.x | 1.6.x |
Android Studio 与 AGP版本

AGP 7.0 升级
升级与三方库兼容
接下来进入正式的升级,如果用的是最新的AS,可以发现已经有了推荐升级的提示并且可以一键升级

点击后会自动修改gradle以及agp版本,但是还是有一些需要修改,以下是几个修改点
- gradle/wrapper/gradle-wrapper.properties 设置镜像提高下载速度
https\://mirrors.cloud.tencent.com/gradle/gradle-7.5-all.zip - 设置的gradle#addBuildListener 监听器 buildStarted(gradle: Gradle) 方法被移除了
- com.android.library 模块不再需要设置版本号和版本名称,其他的直接按照提示升级即可
- kotlin版本升级至1.5.x版本
升级到7.0 也遇到一些问题,比如常见的一些三方库三方插件的升级以及兼容
- 玩安卓项目接入
booster,这里直接更新到最新版本 ARouter不兼容,这里推荐直接替换为therouter,官网有一键升级的工具,这里也不展开- 兼容老换肤框架,因为换肤使用的换肤框架也很久没更新了,这里为了快速解决直接强制指定appcompat库版本
// 指定androidx版本,防止因为换肤库导致的崩溃
// https://blog.youkuaiyun.com/charlinopen/article/details/126625175
configurations.all {
resolutionStrategy {
force("androidx.appcompat:appcompat:1.2.0")
}
}
gradle插件等兼容
- gradle插件提示重复注册
这里有点莫名其妙,因为本身的玩安卓项目带buildSrc有一些自己练手的transform,这里根据提示去指定一个重复的策略
// https://docs.gradle.org/7.5/javadoc/org/gradle/api/file

本文讲述了在Android项目中进行AGP7.0版本升级的实践,包括升级步骤、遇到的问题如三方库兼容、多包名工程改造的技巧,以及适配Replugin插件时的注意事项。作者分享了解决方案,如处理重复注册、资源管理和跨模块依赖问题等。
最低0.47元/天 解锁文章
6663

被折叠的 条评论
为什么被折叠?



