Flutter项目构建失败:找不到路径platforms;android-33的Platform SDK
FAILURE: Build failed with an exception.
- What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.Failed to find Platform SDK with path: platforms;android-33
- Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
- Get more help at https://help.gradle.org
BUILD FAILED in 16s
Running Gradle task 'assembleDebug'... 19.0s
Exception: Gradle task assembleDebug failed with exit code 1
以下是几种可行的修复方案:
验证local.properties的SDK路径
打开项目的android/local.properties文件,确认sdk.dir指向正确的Android SDK安装路径:# Windows示例 sdk.dir=C:\\Users\\你的用户名\\AppData\\Local\\Android\\Sdk # Mac示例 sdk.dir=/Users/你的用户名/Library/Android/sdk # Linux示例 sdk.dir=/home/你的用户名/Android/Sdk如果路径包含空格,需要用双引号包裹,比如
sdk.dir="C:\\Program Files\\Android\\Sdk"。调整项目的Android SDK版本配置
编辑android/app/build.gradle文件,确保compileSdkVersion和targetSdkVersion与你已安装的SDK版本一致:android { compileSdkVersion 33 // 替换为你已安装的版本,比如34 defaultConfig { targetSdkVersion 33 } }同时检查
android/build.gradle中的gradle插件版本是否兼容,比如使用7.4.2版本适配API 33:dependencies { classpath 'com.android.tools.build:gradle:7.4.2' }重新确认Android SDK平台安装
打开Android Studio,依次点击Tools > SDK Manager > SDK Platforms,找到Android 13 (API 33),勾选后点击Apply完成安装,同时确保对应的SDK Build-Tools 33.x.x也已安装(在SDK Tools标签页)。配置Flutter的SDK路径
在终端运行以下命令,让Flutter识别正确的Android SDK位置:flutter config --android-sdk /你的/SDK/完整路径之后运行
flutter doctor检查问题,若提示Android license未同意,执行:flutter doctor --android-licenses按提示输入
y接受所有协议。清理Gradle缓存
- 删除项目根目录下的
android/.gradle文件夹 - 删除用户目录下的
.gradle缓存(Windows:C:\Users\你的用户名\.gradle;Mac/Linux:~/.gradle) - 执行
flutter clean清理Flutter缓存,然后重新运行flutter run
- 删除项目根目录下的
检查系统环境变量
确保ANDROID_HOME或ANDROID_SDK_ROOT环境变量指向正确的SDK路径,并将SDK的platform-tools和tools目录加入系统PATH:- Windows:在系统属性的环境变量中添加或修改
- Mac/Linux:在
~/.bashrc或~/.zshrc中添加:export ANDROID_HOME=/Users/你的用户名/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
保存后执行
source ~/.bashrc或source ~/.zshrc生效。
内容的提问来源于stack exchange,提问作者Vinh Pedro

