Flutter添加google_mobile_ads后构建报AndroidX、Gradle兼容错误如何解决?
解决方案
1. 修复 android:attr/lStar 资源找不到错误
该错误是因为依赖的core-1.7.0-alpha02版本要求编译SDK版本至少为31,按如下操作修改:
- 打开项目
/android/app/build.gradle文件 - 找到
compileSdkVersion配置项,将数值修改为31或更高版本,targetSdkVersion可保持原有配置无需修改
2. 修复audioplayers插件Gradle与Kotlin版本不兼容错误
你之前仅修改了Android Gradle插件版本,未同步修改Gradle wrapper版本和Kotlin版本,三者需匹配:
- 打开项目
/android/build.gradle文件- 将
com.android.tools.build:gradle的版本升级到7.0.2及以上,推荐使用7.1.3 - 将Kotlin版本配置
ext.kotlin_version升级到1.5.31及以上,推荐使用1.6.10
- 将
- 打开项目
/android/gradle/wrapper/gradle-wrapper.properties文件- 将
distributionUrl对应的Gradle版本修改为和Android Gradle插件匹配的版本,例如插件版本为7.1.3时,Gradle版本需对应为7.4
- 将
3. 清理缓存解决回退后仍报错问题
回退版本后仍然报错是因为本地构建缓存和Gradle全局缓存残留了旧的依赖文件,按如下步骤清理:
- 终端执行
flutter clean清理项目本地构建缓存 - 执行
flutter pub get重新拉取项目依赖 - 打开本地Gradle缓存目录(路径为
C:\Users\你的用户名\.gradle\caches),删除目录下所有缓存文件 - 若修改完仍出现lStar相关报错,可在
/android/app/build.gradle的dependencies代码块前添加如下配置强制指定core版本:
configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' } }
内容的提问来源于stack exchange,提问作者Simon Iyamu
相关产品推荐
相关产品推荐

