电脑配置:MacOS15.4.1, Intel Core i7(非M1/M2)
前置条件:VSCode已下载, HomeBrew下载工具已安装
配置Flutter环境
在终端中使用Homebrew下载Flutter
brew install --cask flutter
然后在.zshrc文件新增Flutter路径
# Flutter 配置
export FLUTTER=~/flutter
export PATH=$FLUTTER/bin
输入echo $FLUTTER和which flutter验证路径是否一致:
echo $FLUTTER
/Users/jm/flutter
which flutter
/Users/jm/flutter/bin/flutter
像上面两个指令输出的路径一致就证明Flutter环境路径配置好了。
接下来使用虚拟机(Simulator)运行程序
- 使用VSCode打开项目->切换到正确的分支(在左下角切换分支)
- 切换到项目支持的flutter版本,如我的项目是基于Flutter 3.19.1开发的,使用以下指令切换:
git checkout 3.19.1
- 更新项目flutter依赖配置:先cd到项目根目录(根目录有pubspec.yaml文件),执行以下指令:
flutter pub get
- 更新iOS依赖配置:先cd到项目中的example/.ios文件夹内(该文件夹内有Podfile文件),执行以下指令:
pod update
- 运行项目:右下角选择Simulator虚拟机,然后cd到项目中的example文件夹(example/lib/main.dart是程序的入口),执行以下指令运行项目:
flutter run
讲道理,此时是可以正常运行的,如果有其他问题,另行解决....
【配置ios环境】
-
重新安装 Pods:在
ios目录下运行。bash
pod install
【配置安卓环境】
1.使用homebrew安装java环境
注意:M1/M2与Inter芯片的系统架构不同,安装方式也不同,本文以Inter芯片的环境进行安装;
Temurin 已经被Homebrew官方直接收录,所以可以直接使用homebrew进行安装,不过需要注意mac
先使用指令brew search temurin搜索下有哪些版本的temurin
brew search temurin
# 输出结果如下:
==> Formulae
maturin
==> Casks
temurin temurin@11 temurin@17 temurin@19 temurin@20 temurin@21 temurin@25 temurin@8
如果看到temurin@11 temurin@17这样的字眼,就可以进行下一步。
如果没有看到,报错信息如下:
brew search temurin
Error: Cask 'temurin@11' is unavailable: No Cask with this name exists.
则说明需要升级homebrew了,使用brew update指令进行升级,升级成功后再次执行brew search temurin搜索下有哪些版本的temurin。
接着,以安装temurin@17为例,执行brew install temurin@17指令安装temurin:
brew install temurin@17
==> Downloading https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.17%2B10/OpenJDK17U-jdk_x64_mac_hotspot_17.0.17_1
==> Downloading from https://release-assets.githubusercontent.com/github-production-release-asset/372925194/cfa8679b-08fd-4e44-a6c3-ef3fbc
################################################################################################################################### 100.0%
==> Installing Cask temurin@17
==> Running installer for temurin@17 with `sudo` (which may request your password)...
Password:
Sorry, try again.
Password:
Sorry, try again.
Password:
installer: Package name is Eclipse Temurin
installer: Installing at base path /
installer: The install was successful.
🍺 temurin@17 was successfully installed!
从信息中可以看出temurin@17已成功安装,接着执行java -version进行验证:
java -version
openjdk version "17.0.17" 2025-10-21
OpenJDK Runtime Environment Temurin-17.0.17+10 (build 17.0.17+10)
OpenJDK 64-Bit Server VM Temurin-17.0.17+10 (build 17.0.17+10, mixed mode)
能输出版本号就代表java环境已安装成功。
2.安装 adb + platform-tools(需要翻墙)
brew install android-platform-tools
成功后需要配置环境变量(必须)
编辑 ~/.zshrc:
export ANDROID_HOME=$HOME/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
3.使用 sdkmanager 安装 Android SDK 组件
sdkmanager --licenses
一路y,然后再执行指令:
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
android-33 / 34 均可,Flutter 都支持
成功后,我们进行验证,再次输入flutter doctor指令查看整个环境配置,如果全部显示✅就表示配置好了:
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel [user-branch], 3.19.1, on macOS 15.4.1 24E263 darwin-x64, locale zh-Hans-CN)
! Flutter version 3.19.1 on channel [user-branch] at /Users/jiameng/flutter
Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
If that doesn't fix the issue, reinstall Flutter by following instructions at
https://flutter.dev/docs/get-started/install.
! Upstream repository unknown source is not a standard remote.
Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error.
[✗] Android toolchain - develop for Android devices
✗ cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
[✓] Chrome - develop for the web
[!] Android Studio (not installed)
[✓] VS Code (version 1.104.1)
[!] Proxy Configuration
! NO_PROXY is not set
[✓] Connected device (3 available)
! Error: Browsing on the local area network for iPhoneXR. Ensure the device is unlocked and
attached with a cable or associated with the same local area network as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code -27)
! Error: Browsing on the local area network for iPhoneSE. Ensure the device is unlocked and
attached with a cable or associated with the same local area network as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code -27)
! Error: Browsing on the local area network for 哈哈哈哈哈哈哈哈. Ensure the device is unlocked and
attached with a cable or associated with the same local area network as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code -27)
[✓] Network resources
! Doctor found issues in 4 categories.
很显然,我的安卓环境没配置好:[✗] Android toolchain - develop for Android devices,具体原因也提示了是✗ cmdline-tools component is missing, 如果你是按照我上面的步骤安装的话,那其实并不是缺失cmdline-tools,因为你刚使用homebrew安装过,真正的问题也正是使用homebrew安装导致目录结构(安装路径)不能被flutter正确识别:
Flutter 真正期望的目录结构(非常关键)
Flutter 只认这一套 👇
$ANDROID_HOME
└── cmdline-tools
└── latest
├── bin/sdkmanager
├── bin/avdmanager
└── lib/...
而你现在的是:
/usr/local/share/android-commandlinetools/ # homebrew默认的安装路径
└── cmdline-tools
├── latest
├── bin/sdkmanager
├── bin/avdmanager
└── lib/...
解决方式有两种,一种是直接下载Android Studio,再利用Android Studio下载cmdline-tools及其他工具;另一种是不想要下载Android Studio。
我当然是不想下载Android Studio(想下载的话一开始就不需要用homebrew配置安卓环境),所以接下来的目标就是把 Homebrew 安装的 cmdline-tools 同步到 $ANDROID_HOME
① 确认 ANDROID_HOME(先对齐)
使用echo $ANDROID_HOME指令查看AndroidSDK路径,其中$ANDROID_HOME是刚才写入.zshrc文件的变量:
echo $ANDROID_HOME
/Users/jiameng/Library/Android/sdk
② 创建 Flutter 需要的目录结构
mkdir -p $ANDROID_HOME/cmdline-tools
③ 把“正确的一份”拷贝过去(关键步骤)
将homebrew安装的cmdline-tools移到$ANDROID_HOME目录下:
cp -R /usr/local/share/android-commandlinetools/cmdline-tools/latest \
$ANDROID_HOME/cmdline-tools/latest
这一步是核心修复动作
④ 验证结构是否正确
ls $ANDROID_HOME/cmdline-tools/latest/bin
你应该能看到:
sdkmanager
avdmanager
如果能看到,说明 100% 对了
最后!再次输入flutter doctor指令查看整个环境配置。
⚠️⚠️⚠️ 如果成功了就不用往下看了,如果依旧提示[✗] Android toolchain - develop for Android devices,那大概率还是其他安卓包的路径问题,直接重新安装,并且指定安装路径统一到$ANDROID_HOME目录下
sdkmanager --sdk_root="$ANDROID_HOME" "platform-tools" "platforms;android-34" "build-tools;34.0.0"
再次输入flutter doctor指令查看整个环境配置,要是还没对,我也没办法了!!!!