You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter添加geolocator依赖后Android模拟器无法启动求助

解决Flutter中geolocator 12.0.0依赖导致Android模拟器启动失败的问题

检查Android Gradle插件与Kotlin版本兼容性

geolocator 12.x对Kotlin版本和Android Gradle插件有特定要求,不要直接升级到Kotlin 2.0.0,该版本与多数Android Gradle插件版本兼容性差。建议:

  • 打开项目根目录下的build.gradle(项目级),将ext.kotlin_version设置为1.9.20(geolocator 12.x推荐的稳定版本)
  • 确保com.android.tools.build:gradle版本至少为7.4.0,示例配置:
buildscript {
    ext.kotlin_version = '1.9.20'
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

补全权限配置

geolocator 12.x需要完整的权限支持,确保android/app/src/main/AndroidManifest.xml中添加以下权限:

<!-- 基础定位权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- Android 10+ 后台定位权限(按需添加) -->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<!-- 网络定位辅助权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

清理缓存并重建项目

缓存冲突可能导致启动失败,执行以下操作:

  • 运行flutter clean清理项目缓存
  • 运行flutter pub get重新拉取依赖
  • 关闭IDE,删除项目根目录下的.gradle和android/.gradle文件夹
  • 重启IDE后重新编译运行

检查模拟器配置

确保模拟器满足以下条件:

  • 模拟器Android版本不低于API 23(Android 6.0),geolocator 12.x对低版本系统支持有限
  • 在模拟器扩展面板(Extended Controls)的Location选项中,设置一个模拟位置
  • 若使用带Google Play的镜像,确保Google Play服务已更新

临时降级geolocator版本

若以上方法无效,可尝试降级到稳定旧版本,修改pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.6
  geolocator: ^11.0.0

执行flutter pub get后重新运行项目。


内容的提问来源于stack exchange,提问作者Just AMAZING Cloud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:32:42