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

Flutter集成Geolocator库时Android构建失败求助

解决Flutter Geolocator构建失败问题

针对你遇到的geolocator_android模块构建错误(无法获取flutter属性、compileSdk未指定),按以下步骤排查修复:

1. 清理本地缓存

首先清理Flutter和Gradle的旧缓存,避免依赖冲突:

flutter clean
flutter pub get

同时手动删除项目根目录下的.gradle文件夹,以及android/.gradle文件夹,彻底清除Gradle缓存。

2. 同步Gradle插件版本

你的settings.gradle中Gradle插件版本与Flutter SDK可能不匹配,导致子模块无法识别Flutter扩展。修改settings.gradle中的插件版本:

plugins {
    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
    id "com.android.application" version "8.4.0" apply false
    id "org.jetbrains.kotlin.android" version "1.9.20" apply false
}

(版本号可根据你当前Flutter版本调整,运行flutter --version查看Flutter版本,确保插件版本兼容)

3. 添加全局Gradle配置

在项目的android/build.gradle(注意是项目根目录下的android文件夹中的build.gradle,不是app模块的)添加全局配置,强制所有子模块使用统一的compileSdk版本:

buildscript {
    ext {
        compileSdkVersion = 35
        minSdkVersion = 21
        targetSdkVersion = 35
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:8.4.0"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

4. 调整Geolocator版本适配Flutter SDK

你当前使用的Flutter SDK是3.5.4,Geolocator 13.0.3对Flutter版本要求较高,降级到兼容版本:
修改pubspec.yaml中的依赖:

dependencies:
  flutter:
    sdk: flutter
  http: ^0.13.3
  fluttertoast: ^8.2.0
  shared_preferences: ^2.2.3
  image_picker: ^1.1.2
  image: ^4.0.15
  go_router: ^14.2.6
  google_maps_flutter: ^2.10.0
  geolocator: ^12.0.0
  permission_handler: ^10.2.0

修改后重新运行flutter pub get。

5. 验证配置正确性

确认AndroidManifest.xml中的flutterEmbedding属性值为2,这个配置是正确的,无需修改。

完成以上步骤后,重新运行flutter run,构建错误应该可以解决。

内容的提问来源于stack exchange,提问作者Dzy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 19:54:49