Android Studio AGP 4升级到AGP 7
前言
之前Android Studio在运行项目的时候,能正常运行,但是配置文件都报红,这是因为和Android Studio版本不兼容。
升级新版本的Android Studio Panda 2 | 2025.3.2 就可以了,但是一升级又导致新的问题,旧项目又不支持了。
提示让升级AGP
The project is using an incompatible version (AGP 4.0.1) of the Android Gradle plugin. Minimum supported version is AGP 7.0.0.
这里就记录下AGP升级过程。
AGP 4.0.1 已被彻底淘汰,自 Narwhal Feature Drop (2025.1.2) 起,Android Studio 不再支持 AGP < 4.0,但实际从 2023 年起主流 IDE 已要求 AGP ≥ 7.0。
项目升级到 AGP 7.0.0 或更高版本,并同步调整配套的 Gradle 版本 和 JDK 版本。
AGP 7.4.2 是一个稳定且广泛兼容的版本,支持 JDK 11/17,Gradle 7.5+。
注意
AGP 不要直接直接升级到 AGP8。
AGP 不要直接直接升级到 AGP8。
AGP 不要直接直接升级到 AGP8。
我这尝试升级AGP8出现除了环境配置都要修改外,很多代码都要修改,太多了,最后还是使用AGP7.4.2了。
解决方案
你需要将项目升级到 AGP 7.0.0 或更高版本,并同步调整配套的 Gradle 版本 和 JDK 版本。
注意
AGP 4.0.1 已被彻底淘汰,自 Narwhal Feature Drop (2025.1.2) 起,Android Studio 不再支持 AGP < 4.0,但实际从 2023 年起主流 IDE 已要求 AGP ≥ 7.0。
升级 Gradle 和 AGP
修改Gradle版本
文件路径:gradle/wrapper/gradle-wrapper.properties
1 | distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.5.1-all.zip |
或者
1 | distributionUrl=https\://mirrors.aliyun.com/gradle/distributions/v7.5.1/gradle-7.5.1-all.zip |
修改AGP版本
修改项目级 build.gradle(根目录)
1 | // build.gradle (Project) |
设置JDK版本
AGP 8.0+ 要求 JDK 17。
设置中配置
在模块级 build.gradle 中显式指定:
1 | android { |
注意
构建用 JDK 17 + 工程编译目标仍是 1.8 是常见且正常的组合,不用改
JavaVersion.VERSION_1_8为17。
常见问题
添加命名空间
报错
Namespace not specified. Specify a namespace in the module’s build file.
每一个包都要添加对应的命名空间
1 | android { |
插件不支持
Plugin [id: ‘maven’] was not found in any of the following sources
改为
1 | plugins { |
Could not set unknown property ‘classifier’ for task ‘:lib_agora:androidSourcesJar’ of type org.gradle.api.tasks.bundling.Jar
把原来的
1 | task androidSourcesJar(type: Jar) { |
改为
1 | task androidSourcesJar(type: Jar) { |
Manifest合并问题
处理 Manifest 合并问题(Android 12+)
如果你的 targetSdk >= 31,需为所有 <activity>、<service>、<receiver> 显式添加 android:exported 属性:
1 | <activity |
❗否则会报错:
Manifest merger failed : android:exported needs to be explicitly specified
不支持 butterknife
butterknife 的改为viewbuilding
这个改动就比较大了
清理并重试
Build > Clean Project
清空缓存
File > Invalidate Caches / Restart
同步依赖
File > Sync Project with Gradle Files
如果构建卡可以使用这个测试
1 | gradlew.bat :app:assembleDebug --no-daemon |
备选方案
降级 Android Studio(不推荐)
如果你无法修改老项目(如第三方闭源项目),可考虑:
- 安装旧版 Android Studio(如 Arctic Fox 2020.3.1),它支持 AGP 4.0.1。
- 但会失去新功能、安全更新和调试支持。
注意:
更好的做法是 升级项目,而非降级工具链。
以下情况不建议升级:
- 项目比较庞大,并且大量使用了
Butterknife,这种情况迁移难度太大。我这里15个子模块,在AI的帮助下迁移了2天。 - 项目三方依赖使用了
Butterknife,这种情况得把三方的下载下来,手动改。
总结
| 组件 | 原版本 | 升级到 |
|---|---|---|
| AGP | 4.0.1 | 7.4.2 |
| Gradle | ~6.1 | 7.5.1 |
| JDK | 8 | 17 |
| Android Studio | 任意新版 | 保持最新,但需匹配 AGP |
完成上述修改后,项目应能正常同步和构建。