Flutter集成Google Mobile Ads插件执行flutter run编译失败问题求助
问题根本原因
核心报错为Kotlin版本不兼容:你项目中配置的Kotlin版本为1.3.50,而新版Google Mobile Ads插件依赖的work-runtime-2.7.0库是基于Kotlin 1.5.1编译的,低版本Kotlin编译器无法识别高版本编译的类库元数据,直接触发编译失败。
修复步骤
- 第一步:修改安卓项目全局Kotlin版本
打开android/build.gradle文件,将ext.kotlin_version的值从1.3.50修改为1.5.31(该版本适配绝大多数新版Flutter安卓插件,兼容性更优),同时建议将已停止维护的jcenter()仓库替换为mavenCentral(),修改后配置如下:
buildscript { ext.kotlin_version = '1.5.31' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() mavenCentral() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } task clean(type: Delete) { delete rootProject.buildDir }
- 第二步:清理缓存重新构建
依次执行以下命令:
flutter clean清理项目本地构建缓存flutter pub get重新拉取项目依赖- 运行
flutter run重新编译项目即可
- 可选兜底方案
如果修改后仍报缓存相关错误,可手动删除报错日志中提到的缓存目录:C:/Users/Arthur Alland/.gradle/caches/transforms-2,再重新执行构建命令即可。
内容的提问来源于stack exchange,提问作者Arthur Alland
相关产品推荐
相关产品推荐

