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

MacOS下Android Studio运行Flutter项目报错Flutter SDK not found

问题根因

你贴出的android/app/build.gradle开头代码存在书写错误:代码中指定加载的属性文件是key.properties(通常用于存储应用签名配置),而非存储Flutter、Android SDK路径的local.properties文件,构建时自然读取不到flutter.sdk配置项,直接抛出对应报错。
iOS端(Xcode)构建完全不依赖Android目录下的Gradle配置,因此可以正常运行;flutter doctor检测结果、IDE内SDK配置、local.properties文件内容、模块依赖配置你都已经配置正确,和本次报错无关。

修复方案
  • 打开项目路径下的android/app/build.gradle文件,定位到开头的属性加载代码块,将错误的文件名修正,正确的基础加载逻辑如下:
def localProperties = new Properties()
// 原代码此处写为'key.properties',是报错的核心原因
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
  • 如果你需要配置应用签名,单独编写key.properties的加载逻辑,不要和local.properties的加载逻辑复用同一个属性对象,避免配置覆盖,示例代码:
// 单独加载签名配置,和本地环境配置隔离
def keyProperties = new Properties()
def keyPropertiesFile = rootProject.file('key.properties')
if (keyPropertiesFile.exists()) {
    keyPropertiesFile.withReader('UTF-8') { reader ->
        keyProperties.load(reader)
    }
}
  • 修改完成后,在项目根目录执行flutter clean清理旧构建缓存,重新触发Android端构建即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 21:33:25