Flutter 3.0.2升级后Android运行报错:app:compileDebugKotlin执行失败
Flutter 3.0.2 Android端Kotlin编译报错修复方案
当前问题是Kotlin版本、Gradle版本、Android Gradle插件版本三者不匹配导致的,只执行clean、pub get、盲目升级Kotlin到最新版无法解决兼容问题,按以下步骤操作:
- 第一步:修改项目根目录
android/build.gradle中的Kotlin版本,把原来的1.5.10替换为1.6.21。这个版本是Flutter 3.0.x分支官方验证过的兼容版本,不要直接用最新的1.7.x系列,极易和旧版构建链产生冲突。修改后的对应配置片段:
buildscript { ext.kotlin_version = '1.6.21' repositories { google() mavenCentral() } // 其余原有classpath配置保持不变即可 }
- 第二步:核对Gradle版本,打开
android/gradle/wrapper/gradle-wrapper.properties文件,找到distributionUrl配置项,将版本替换为7.4,对应配置:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
- 第三步:核对Android Gradle Plugin(AGP)版本,回到
android/build.gradle文件,找到com.android.tools.build:gradle对应的classpath配置,将版本改为7.3.1,和上面的Gradle 7.4版本匹配,对应配置:
classpath 'com.android.tools.build:gradle:7.3.1'
- 第四步:上述配置全部修改完成后,彻底清理旧构建缓存,依次执行以下命令:
# 进入Android工程目录 cd android # 清理Gradle构建缓存 ./gradlew clean # 返回Flutter项目根目录 cd .. # 清理Flutter构建缓存、重新拉取依赖 flutter clean flutter pub get
- 第五步:如果执行完上述操作后依然报错,运行带详细日志的构建命令,定位具体的编译错误点,不要只看笼统的
compileDebugKotlin失败提示:
flutter run -v
常见的隐藏报错原因:项目引入的部分第三方Flutter插件使用了不兼容的Kotlin版本,会导致整体编译失败。如果日志明确指向某一个插件的Kotlin代码报错,直接将对应插件升级到适配Flutter 3.0的版本即可。
内容的提问来源于stack exchange,提问作者anhdhq
相关产品推荐
相关产品推荐

