报错原文: The project is using an incompatible version (AGP 4.1.1) of the Android Gradle plugin. Minimum supported version is AGP 7.3.0. See Android Studio & AGP compatibility options.
一、报错原因
简单一句话:项目使用的 Android Gradle Plugin(AGP)版本 4.1.1 太老,当前打开项目的 Android Studio 最低只支持 AGP 7.3.0 及以上版本,版本不匹配,直接拒绝同步。
AGP 和 Android Studio、Gradle 之间有强绑定兼容关系,不能随意混搭。
- 老项目:AGP 4.1.1
- 新版 AS:强制要求 AGP ≥7.3.0
这里有两条路线可选:升级项目 AGP(推荐长期维护),或者降级 Android Studio(临时应急,不推荐长期)。
二、方案 A:升级项目 AGP 到 7.3.0(推荐)
配套关系:AGP 7.3.0 ⇔ Gradle 7.4,两个必须一起改,只改一个一定会同步失败。
1. 修改根目录 build.gradle
旧 buildscript 写法(老项目最常见)
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
// 替换原来 4.1.1
classpath "com.android.tools.build:gradle:7.3.0"
}
}
plugins 新写法
plugins {
id 'com.android.application' version '7.3.0' apply false
id 'com.android.library' version '7.3.0' apply false
}
2. 修改 gradle-wrapper.properties
路径:gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
3. 同步并处理迁移大坑
点击 Sync Project with Gradle Files 同步。
⚠️ 从 AGP 4.1 升级到 7.3 跨度巨大,大量语法变更,提前提交代码到 Git,方便回滚!
常见迁移问题清单:
- compileSdk /targetSdk 建议至少升级到 32
- 废弃
compile配置,只用implementation/api - 字段名变更:
compileSdkVersion→compileSdk - NDK、productFlavor、aapt 配置语法有改动
- Kotlin 项目:Kotlin Gradle Plugin 配套升级到 1.7.x 版本
- AGP7 默认关闭 BuildConfig,找不到 BuildConfig 时手动开启:
android {
buildFeatures {
buildConfig true
}
}
💡 官方迁移工具:Tools → AGP Upgrade Assistant,自动引导升级,比手动修改更稳。
三、方案 B:降级 Android Studio(临时方案,不推荐长期)
如果项目是历史遗留老工程,业务稳定、没时间做迁移改造,不想改动代码: 使用 Android Studio Arctic Fox(2020.3.1),该版本原生支持 AGP 4.1.x,打开项目不会报这个版本错误。
缺点:无法使用新版 AS 的新能力、新模拟器,不适合用来开发新项目。
四、国内加速补充(必看)
同步时下载依赖缓慢,配置阿里云镜像,示例:
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
google()
mavenCentral()
}
五、补充:Flutter 项目注意
Flutter 项目遇到这个报错,修改位置是 android/build.gradle 里的 AGP 版本,同样遵循上面的版本配套规则,同时还要保证 Flutter SDK 和 AGP 版本兼容。
六、避坑小结
- AGP 和 Gradle 版本一一对应,不能随便搭配;
- 大版本升级前一定要先提交代码备份;
- 优先走 AGP Upgrade Assistant 官方升级助手;
- 老历史项目优先评估:是迁移升级,还是单独用旧版 AS 隔离维护。