Flutter集成flutter_native_timezone时Gradle构建失败问题求助
解决flutter_native_timezone与Kotlin Gradle插件版本冲突问题
问题分析
flutter_native_timezone 2.0.0的内置依赖配置会拉取旧版本(1.3.50)的Kotlin Gradle插件,即便手动修改项目的Kotlin版本,插件自身的依赖声明仍会导致版本冲突,触发AGP版本不兼容的报错。
解决方案
1. 优先升级插件版本
将pubspec.yaml中的flutter_native_timezone版本更新到最新稳定版,新版本通常会同步更新依赖的Kotlin版本:
flutter_native_timezone: ^2.0.1 # 可查看pub.dev获取最新兼容版
执行flutter pub get刷新依赖。
2. 强制统一所有模块的Kotlin版本
如果升级插件后仍有问题,在android/build.gradle的allprojects块中添加版本强制策略,确保所有依赖使用与项目一致的Kotlin版本:
allprojects { repositories { google() mavenCentral() } configurations.all { resolutionStrategy { eachDependency { details -> // 统一Kotlin标准库版本 if (details.requested.group == 'org.jetbrains.kotlin' && details.requested.name.startsWith('kotlin-stdlib')) { details.useVersion '1.7.10' // 替换为你项目的Kotlin版本 } // 统一Kotlin Gradle插件版本 if (details.requested.group == 'org.jetbrains.kotlin' && details.requested.name == 'kotlin-gradle-plugin') { details.useVersion '1.7.10' } } } } }
3. 匹配AGP与Kotlin版本兼容性
确保Android Gradle插件(AGP)版本与Kotlin版本兼容,比如Kotlin 1.7.10对应AGP 7.2.0+,修改android/build.gradle的buildscript块:
buildscript { ext.kotlin_version = '1.7.10' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
4. 清理缓存并重建
执行以下命令清理缓存后重新构建项目:
flutter clean flutter pub get flutter run
内容的提问来源于stack exchange,提问作者Matheus Cardoso
相关产品推荐
相关产品推荐

