让你一次搞定Mac搭建Flutter-Android开发环境

让你一次搞定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:


image.png

配置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

image.png

在终端里执行命令,检查是否安装成功

/usr/libexec/java_home -V

MAC M2下安装Java及maven环境变量
一、设置Java环境变量
1、执行以下命令查看安装的jdk信息

/usr/libexec/java_home -V
image.png

配置环境变量,打开 .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

参考文章

  1. Flutter环境搭建 2024最新
  2. flutter填坑之旅(环境搭建篇--mac系统)
  3. Mac搭建Flutter-Android开发环境
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容