执行flutter build apk失败:Android Gradle插件仅支持1.3.40及以上Kotlin Gradle插件
Flutter
flutter build apk 构建失败解决方案 报错1:geocoder、google_map_location_picker使用废弃Android embedding版本
- 优先升级这两个插件到官方最新版本,确认是否已适配Android V2 embedding
- 若插件已停止维护无适配版本,直接替换为同功能的活跃维护插件:
geocoder可替换为官方维护的geocoding插件,google_map_location_picker可替换为google_maps_flutter搭配官方位置选择逻辑实现 - 临时兼容方案:在
android/app/src/main/AndroidManifest.xml的<application>标签内新增如下配置,该方案仅可临时使用,高版本Flutter会彻底移除废弃API,最终仍需替换插件
<meta-data android:name="flutterEmbedding" android:value="2" />
报错2:非健全空安全模式构建
- 该提示为警告类信息,不会直接导致构建失败
- 若需适配健全空安全,可将所有依赖升级至支持空安全的版本,移除构建命令中的
--no-sound-null-safety参数即可 - 若存在无法升级的非空安全依赖,构建时保留
--no-sound-null-safety参数即可正常构建,仅运行时存在空指针异常风险
报错3:Kotlin Gradle插件版本不匹配(核心构建失败原因)
该错误是由于google_map_location_picker依赖的Kotlin版本低于Android Gradle插件要求的最低1.3.40版本导致,可选择以下任意一种方案解决:
- 方案1:升级
google_map_location_picker到适配高版本Kotlin的最新发布版本 - 方案2:统一项目全局Kotlin版本,打开
android/build.gradle文件,修改ext.kotlin_version的值为1.3.40以上的稳定版本,推荐使用1.6.10或1.7.10,修改完成后重新执行构建命令即可 - 方案3:强制指定Kotlin插件版本,若不想修改全局Kotlin版本,可在
android/build.gradle的allprojects闭包下添加版本约束,配置如下:
allprojects { configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10" } } }
内容的提问来源于stack exchange,提问作者Yasar Hasan Bin Gursain
相关产品推荐
相关产品推荐

