升级Flutter 3后Android构建失败:无法解析kotlin-gradle-plugin:1.7.20
解决Flutter 3升级后Android构建失败(flutter_jailbreak_detection相关)
针对你遇到的构建错误,核心是flutter_jailbreak_detection插件与Flutter 3的Gradle/Kotlin版本不兼容导致的,以下是具体解决步骤:
升级flutter_jailbreak_detection插件版本
打开项目根目录的pubspec.yaml,将flutter_jailbreak_detection的版本号更新为兼容Flutter 3的最新版,执行命令:flutter pub upgrade flutter_jailbreak_detection统一项目Kotlin与Gradle版本
打开android/build.gradle文件,确保Kotlin版本和Gradle插件版本匹配:buildscript { // 设定与Flutter 3兼容的Kotlin版本,比如1.7.20或更高兼容版 ext.kotlin_version = '1.7.20' repositories { google() mavenCentral() } dependencies { // Gradle插件版本需与Kotlin版本兼容,比如7.3.0适配1.7.20 classpath "com.android.tools.build:gradle:7.3.0" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }同时检查
android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本,确保与插件版本匹配(比如gradle-7.5-all.zip对应上述7.3.0的插件版本)。修复"Could not get unknown property 'android'"异常
这个错误多因插件配置或项目Gradle语法问题导致:- 确认
android/app/build.gradle中的android代码块无语法错误,结构完整; - 若升级插件后仍存在,尝试删除
android/.gradle和android/app/build目录后重新构建。
- 确认
彻底清理缓存
除了flutter clean,手动删除以下目录:- 项目内的
android/.gradle、android/app/build - 系统用户目录下的
.gradle/caches(Windows:C:\Users\<你的用户名>\.gradle\caches;Mac/Linux:~/.gradle/caches)
之后重新执行flutter pub get和flutter build apk。
- 项目内的
强制指定插件依赖版本(兜底方案)
如果上述步骤无效,在android/build.gradle的allprojects块中添加版本强制策略,让插件使用项目指定的Kotlin版本:allprojects { repositories { google() mavenCentral() } configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" force "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } }
内容的提问来源于stack exchange,提问作者Makamu Evans
相关产品推荐
相关产品推荐

