Flutter debug运行报geolocator_android:compileDebugJavaWithJavac编译错误
问题排查与解决方案
第一步:定位间接依赖来源
- 执行依赖树命令定位引入geolocator的第三方包:
flutter pub deps | grep geolocator
你项目中依赖的google_maps_place_picker_mb地图选择组件是大概率的引入源头,这类位置相关组件普遍会间接依赖定位能力库。
第二步:修复方案
方案1:强制锁定兼容版本的geolocator_android
高版本geolocator_android要求compileSdk 33+,和你当前的compileSdk 31、Flutter 2.2.3环境不匹配,直接在pubspec.yaml中添加依赖覆盖配置即可:
dependency_overrides: geolocator_android: 3.1.0
该版本完全适配你的当前开发环境,不会出现Java编译不兼容问题。
方案2:升级间接依赖的父包
如果方案1修复后出现功能冲突,直接升级google_maps_place_picker_mb到适配Flutter 2.x的最新稳定版本,新版本会自动匹配对应兼容的geolocator依赖。
方案3:补充安卓编译配置
如果上述方案都不生效,在安卓项目的gradle.properties中添加Java 8兼容配置:
android.useAndroidX=true android.enableJetifier=true org.gradle.jvmargs=-Xmx1536M android.compileOptions.sourceCompatibility=1.8 android.compileOptions.targetCompatibility=1.8
验证修复
修改配置后按顺序执行命令清理重建:
flutter cleanflutter pub get- 重新运行debug模式即可
内容的提问来源于stack exchange,提问作者Clinton
相关产品推荐
相关产品推荐

