如何修复Flutter Gradle中“无法加载类com.android.build.api.dsl.ApplicationExtension”错误
解决方案:无法加载
com.android.build.api.dsl.ApplicationExtension类 以下是针对该问题的进阶排查与修复步骤:
校验Flutter、AGP与Gradle版本兼容性
打开项目的android/build.gradle文件,找到com.android.tools.build:gradle的版本号,确保它与当前使用的Flutter版本兼容:- Flutter 3.10.x+ 对应 AGP 7.4.x+、Gradle 7.5.x+
- Flutter 3.3.x-3.7.x 对应 AGP 7.2.x+、Gradle 7.4.x+
若版本不匹配,修改AGP版本后,同步更新gradle/wrapper/gradle-wrapper.properties中的distributionUrl,例如AGP 7.4对应Gradle 7.5的distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
彻底清理项目构建缓存
执行以下操作:- 运行
flutter clean清理Flutter缓存 - 删除项目目录下的
android/.gradle、android/build、android/app/build文件夹 - 运行
flutter pub get重新获取依赖 - 再次尝试构建:
flutter build apk --debug
- 运行
排查第三方插件或自定义Gradle脚本
检查android/app/build.gradle和android/build.gradle中的第三方插件、自定义任务或脚本,部分旧版插件可能依赖已废弃的AGP API。尝试暂时注释掉非核心插件的引用,重新构建,定位到问题插件后更新至兼容版本。确认JDK版本符合要求
AGP 7.0及以上版本要求使用JDK 11,运行java -version查看当前JDK版本,若低于11:- 可以切换到Android Studio自带的JDK(路径通常为
Android Studio安装目录/jbr) - 在项目的
android/gradle.properties中添加org.gradle.java.home=<JDK11路径>指定JDK位置
- 可以切换到Android Studio自带的JDK(路径通常为
强制刷新Gradle依赖
在项目的android目录下执行:- macOS/Linux:
./gradlew --refresh-dependencies - Windows:
gradlew.bat --refresh-dependencies
完成后重新同步项目并构建
- macOS/Linux:
内容的提问来源于stack exchange,提问作者HASNAIN ANSARI
相关产品推荐
相关产品推荐

