Flutter项目运行/同步Gradle时AppPlugin创建失败求助
Flutter Gradle同步报错:无法创建AppPlugin装饰类(com.android.build.api.dsl.extension.AppExtension)
问题重现
运行Flutter应用或执行「Sync Project with Gradle Files」时触发以下报错:
评估项目':app'时出现问题。
无法应用插件'com.android.application'。
无法创建类型为'AppPlugin'的插件。无法为类型AppPlugin生成装饰类。
com/android/build/api/dsl/extension/AppExtension
当前关键配置
app/build.gradle(核心片段)
dependencies { classpath 'com.android.tools.build:gradle:3.5.3' classpath 'com.google.gms:google-services:4.4.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } apply plugin: 'com.google.gms.google-services' apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" // 签名配置省略 dependencies { implementation 'com.google.android.gms:play-services-auth:20.7.0' implementation "androidx.browser:browser:1.6.0" implementation platform('com.google.firebase:firebase-bom:25.12.0') implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'com.android.support:multidex:2.0.1' } // ... defaultConfig { applicationId "com.manshore.mosaic_doctors" minSdkVersion 20 targetSdkVersion 33 versionCode flutterVersionCode.toInteger() versionName flutterVersionName multiDexEnabled true }
gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists android.enableUnitTestBinaryResources=false distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-all.zip
android/build.gradle
buildscript { ext.kotlin_version = '1.6.10' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:3.5.3' classpath 'com.google.gms:google-services:4.4.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() mavenCentral() } }
gradle/gradle.properties
org.gradle.jvmargs=-Xmx4608m android.useAndroidX=true android.enableJetifier=true android.enableR8=true android.bundle.enableUncompressedNativeLibs=false
环境:Corretto-11 JDK
解决方案
问题核心是AGP、Gradle、Kotlin版本严重不兼容,加上插件顺序错误、依赖冲突导致初始化失败,按以下步骤修复:
1. 对齐版本兼容组合
AGP 3.5.3仅支持Gradle 5.4.1-5.6.4,而你使用的Gradle7.3完全超出兼容范围,同时Kotlin1.6.10也和旧AGP不匹配。直接替换为以下兼容版本:
修改android/build.gradle:
buildscript { ext.kotlin_version = '1.7.20' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 适配Gradle7.3 classpath 'com.google.gms:google-services:4.4.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
2. 调整插件应用顺序
google-services插件必须在Android插件之后应用,否则会导致初始化异常,修改app/build.gradle的插件顺序:
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" apply plugin: 'com.google.gms.google-services' // 移到最后
3. 替换旧依赖为AndroidX版本
com.android.support:multidex是旧支持库,和你的AndroidX配置冲突,替换为AndroidX版本:
修改app/build.gradle的依赖:
// 替换原multidex依赖 implementation 'androidx.multidex:multidex:2.0.1'
4. 清理缓存并重新同步
- 删除项目根目录下的
.gradle、build文件夹 - 删除
app/build文件夹 - 执行命令:
flutter clean && flutter pub get - 重新触发Gradle同步
内容的提问来源于stack exchange,提问作者Yazan
相关产品推荐
相关产品推荐

