新Mac设备Flutter安装依赖实操指南及求助:Android许可证状态未知问题
新Mac设备Flutter安装依赖实操指南及求助:Android许可证状态未知问题
我把这段内容交叉发在这里,因为Flutter论坛实在太冷清,而Stack Overflow上有不少靠谱的Flutter讨论。最近在全新Mac上装Flutter,一路踩坑到怀疑人生——每一个依赖安装环节都出问题,每一步都要折腾半天排查。现在把已经走通的90%步骤整理出来,一方面希望帮到同样踩坑的人,另一方面也卡在最后一步,求各位大佬支招!
一、解决Ruby版本冲突&安装Cocoapods
这是第一个大坑:系统自带Ruby版本太老,又不能直接升级(怕搞坏MacOS核心依赖),试了brew、rbenv都没搞定,最后rvm救了命。步骤如下:
在终端依次执行:
curl -L https://get.rvm.io | bash -s stable source /Users/$USER/.rvm/scripts/rvm rvm install ruby-3.4.4 rvm --default use 3.4.4 gem install cocoapods
验证效果:执行以下命令可以确认系统Ruby完好,独立用户Ruby环境生效,Cocoapods绑定正常:
which ruby # 输出应为/Users/你的用户名/.rvm/rubies/ruby-3.4.4/bin/ruby ruby -v # 显示ruby 3.4.4的版本信息 /usr/bin/ruby -v # 系统Ruby还是原来的旧版本(比如2.6.10),说明隔离成功
二、安装VS Code并配置Flutter SDK
- 下载VS Code后拖到「应用程序」文件夹,打开后按
Cmd+Shift+P,输入install 'code' command in PATH,把code命令加到环境变量,然后重启VS Code。 - 打开VS Code左侧的扩展面板(四个小方块图标),搜索「Flutter」并安装。
- 按
Cmd+Shift+P输入flutter Download SDK,跟着提示把SDK下载到你在用户目录下新建的~/development文件夹里。 - 配置Flutter环境变量:
终端执行sudo vi /etc/paths,在最后一行添加(替换成自己的用户名):/Users/你的用户名/development/flutter/bin - 配置Xcode依赖:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer sudo xcodebuild -runFirstLaunch
做完这些可以重启终端,输入flutter doctor看看进度——这时候Cocoapods应该已经显示正常了。
三、安装JDK&Android Studio
接下来是Android相关依赖,必须先装JDK再处理Android Studio:
- 下载并安装JDK 24(Mac x64版本)。
- 下载Android Studio,拖到「应用程序」文件夹后打开,选择「自定义安装」把所有组件都装上,装完直接关闭。
- 处理Android SDK命令行工具(这里我不确定是不是标准操作,但亲测能用,有规范方法欢迎指点!):
- 打开访达,转到
/Users/你的用户名/Library/Android/sdk,新建一个cmdline-tools文件夹。 - 下载Android命令行工具的Mac压缩包,解压后把里面的
cmdline-tools子文件夹拖到刚才新建的目录里,此时路径为/Users/你的用户名/Library/Android/sdk/cmdline-tools/cmdline-tools。 - 把内层的
cmdline-tools重命名为tools,最终路径变为/Users/你的用户名/Library/Android/sdk/cmdline-tools/tools。
- 打开访达,转到
- 配置Android环境变量:
再执行launchctl setenv ANDROID_HOME /Users/你的用户名/Library/Android/sdksudo vi /etc/paths,在最后添加两行:/Users/你的用户名/Library/Android/sdk/platform-tools /Users/你的用户名/Library/Android/sdk/cmdline-tools/tools/bin - 重启终端,执行
sdkmanager --licenses,一路输入y接受所有SDK许可证。
四、卡在最后一步:Android许可证状态未知
现在执行flutter doctor,结果如下:
Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.32.4, on macOS 15.5 24F74 darwin-x64, locale en-US) [!] Android toolchain - develop for Android devices (Android SDK version 35.0.1) ✗ Android license status unknown. Run `flutter doctor --android-licenses` to accept the SDK licenses. [✓] Xcode - develop for iOS and macOS (Xcode 16.4) [✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
我已经执行过sdkmanager --licenses并接受了所有许可证,但运行flutter doctor --android-licenses还是报许可证状态未知,有没有大佬知道怎么解决这个问题?
内容来源于stack exchange
相关产品推荐
相关产品推荐

