Flutter构建APK/AppBundle时Kotlin Gradle插件及Gradle依赖问题求助
解决方案
1. 强制统一所有依赖的Kotlin版本
问题核心是wakelock第三方依赖自带了旧版(1.3.50)的Kotlin Gradle插件,单独修改项目自身的Kotlin版本不会覆盖依赖库的配置。你需要在项目根目录的build.gradle(不是app模块下的那个)里添加强制统一版本的规则:
buildscript { ext.kotlin_version = '1.8.22' // 选一个兼容当前Android Gradle插件的稳定版本,比如1.8.x系列 repositories { google() mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:7.4.2" // 先选用能正常拉取的稳定插件版本 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } // 强制所有子模块(包括wakelock)使用指定的Kotlin版本 subprojects { configurations.all { resolutionStrategy.eachDependency { details -> if (details.requested.group == 'org.jetbrains.kotlin' && details.requested.name.startsWith('kotlin-')) { details.useVersion kotlin_version } } } }
这会直接覆盖wakelock自带的旧Kotlin插件版本,解决版本不兼容的报错。
2. 修复Gradle依赖无法解析的问题
升级到7.5.0时出现依赖拉取失败,按以下步骤排查:
- 确认项目根目录
build.gradle的repositories里必须包含google()和mavenCentral(),且google()要放在最前面(Android Gradle插件优先从Google仓库拉取) - 检查Gradle wrapper版本是否匹配:Android Gradle插件7.5.0要求Gradle wrapper版本至少为7.4,打开
gradle/wrapper/gradle-wrapper.properties,修改为:distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip - 如果仍无法解析,先降级到稳定兼容组合:比如Android Gradle插件7.4.2 + Gradle wrapper 7.4,等构建正常后再尝试升级新版本
3. 清理缓存重新构建
改完配置后,清理旧缓存避免残留问题:
flutter clean rm -rf android/.gradle android/build flutter pub get flutter build apk
内容的提问来源于stack exchange,提问作者Rino Ruban
相关产品推荐
相关产品推荐

