让你一次搞定Mac搭建Flutter-Android开发环境
我当前的系统:M2 mas os: 14.1.1 (23B81)
官方文档:在 macOS 上安装和配置 Flutter 开发环境
提示:
安装完每一步,运行flutter doctor
, 查看缺失哪些!!
第一: fvm安装
推荐使用fvm来安装flutterSDK, 可以指定版本,并对不同版本进行管理
安装fvm, 通过homebrew来安装,但是网上有2种方式,我是按第二种方式是成功的,第一种一直提示一个socket连接失败的错误❌ :
第一种:Mac的flutter多版本管理之fvm的安装及使用
第二种: fvm管理flutter https://www.jianshu.com/p/f3823136f4e5
第一种:
brew tap leoafarias/fvm
brew install fvm
第二种:
# 将fvm所在库拷贝到本地
brew tap befovy/taps
# 搜索fvm
brew search fvm
# 安装fvm
brew install fvm
其他方法
# 使用go get安装
go get -u -v github.com/befovy/fvm
# 使用pub安装
dart pub global activate fvm
检查fvm是否安装成功
fvm --version
fvm常用命令如下:
fvm list // 查看已安装的所用flutter版本
fvm use xxx // 使用安装了的某flutter版本
fvm --version // 查看当前fvm版本号
fvm remove xxx //移除
如何卸载fvm:
brew uninstall fvm
brew untap leoafarias/fvm
brew untap befovy/fvm
第二: 安装FlutterSDK
fvm install 3.3.5 // 安装指定版本,如: flutter3.3.5 的 stable 版本
fvm install stable //安装当前最新的 stable 版本
fvm install dev //安装当前最新的 pre 预览版本
如果你之前安装了flutter,可以通过如下命令将其挪至fvm目录下(此命令执行时间可能会有些久):
# version建议是当前版本的版本号,也可以是其他任意标识
fvm import [version]
然后使用fvm list
可以查看刚拷贝进来的版本。
设置全局版本使用,如下命令设置全局版本
fvm use 2.2.3
配置环境变量
打开: ~/.zshrc (新的), 旧的:~/bash_profile
如果是没有使用fvm安装flutter
export PATH="/Users/jacokwu/Library/Application Support/fvm/current/bin:$PATH"
如果使用fvm(改成自己的path):
export PATH="/opt/homebrew/bin:$PATH"
export PATH=/Users/dguo/fvm/versions/3.3.5/bin:$PATH
export PATH="/Users/dguo/.rbenv/shims:$PATH"
export PATH="/usr/local/bin/npx:$PATH"
eval "$(rbenv init - zsh)"
第三: 安装Android studio
AS下载地址:https://developer.android.com/studio?hl=zh-cn
SDK tools命令行工具: https://developer.android.com/tools?hl=zh-cn
如果运行flutter doctor
,没有报上面的错误,报了下面这个错:
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
✗ cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
继续执行下面的命令
flutter doctor --android-licenses
运行完后大概率报下面的错误
Android sdkmanager not found. Update to the latest Android SDK and ensure that the cmdline-tools are installed to resolve this.
这个时候打开Android Studio(以下简称AS),找到settings,快捷键command +,,设置SDK
可能AS版本不同,设置SDK位置不同,有的是在Appearance & Behavior下的System Settings下的Android SDK,有的是在Languages & Frameworks下的Android SDK,仔细找找就能找到
右面选择SDK Tools,勾选Android SDk Command-line Tools(latest)
在settings中下载 Android SDK Command-line Tools:
配置Android SDK环境变量:打开terminal,打开.zshrc文件
export ANDROID_HOME=/Users/dguo/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
保存关闭文件,执行生效命令
source ~/.zshrc
OK,再回到命令行继续执行
flutter doctor --android-licenses
这时你会发现命令行提示输入y/N,直接全部输入y就行
接下来可以安装Flutter插件,在Plugins选项中可以看到Flutter插件,点击Install,隐私协议-需要Dart,同意安装就行,然后重启,这时候就可以看到New Flutter Project选项了
第四: 安装JAVA SDK
下载地址: https://www.oracle.com/java/technologies/downloads/
参考:
M1 Mac Java8安装及环境配置(M系列都适用)
mac m2 安装java
在终端里执行命令,检查是否安装成功
/usr/libexec/java_home -V
MAC M2下安装Java及maven环境变量
一、设置Java环境变量
1、执行以下命令查看安装的jdk信息
/usr/libexec/java_home -V
配置环境变量,打开 .zshrc
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
source ~/.zashrc 刷新立即生效
echo $JAVA_HOME
输入echo $JAVA_HOME出现以下情况则配置完毕。
echo $PATH
可以打印出所有的环境变量
五:安装中的问题
1、“找不到 Android sdkmanager。更新到最新的 Android SDK 并确保安装了 cmdline-tools 以解决此问题”(Visual Studio Code)
原因:没有安装Android SDK Command-line Tools
2、CocoaPods installed but it is not working
使用flutter doctor -v出现以后警告
主要原因是:cocoadpod没有安装到公共的环境变量中,使用下面命令,即可成功
sudo gem install -n /usr/local/bin cocoapods -v(指定版本)
3、Android Studio Unable to find bundled Java version
解决办法来源:
2023年 Android Studio Unable to find bundled Java version 解决方法
Flutter问题记录 - Unable to find bundled Java version
原因:
实锤了,新版本的Android Studio真的移除了JRE,jre目录找不到,怪不得报错了,不过多了一个jbr目录,找了个以前的Android Studio版本对比。搜了一下jbr(JetBrains Runtime),原来IDEA老早就开始用了,是基于OpenJDK修改的东西。不知道为什么Android Studio从2022.1.1版本才开始支持,去下载了两个预览版也是没有jre目录了,说明后续应该都没了。
综上,问题的根源在于Android Studo移除了jre目录。那如果我直接修改代码,将路径拼接过程中的jre改为jbr是不是就没问题了,实测可行,执行flutter框架项目路径/bin/cache/dart-sdk/bin/dart flutter_tools.dart doctor命令一切正常。
解决方案: 如果是macOS系统,在jbr同目录下创建一个jre目录,然后将jbr目录内的全部文件复制一份到jre目录下即可。
Sidekick for Flutter
A simple desktop interface for tools that enhance Flutter's development experience to make it even more delightful.
https://github.com/fluttertools/sidekick