Mac OS 配置 Flutter 开发环境

简介: 手把手教你如何在 Mac OS 下配置 Flutter 开发环境。
本篇主要讲述安卓环境的配置,iOS 的开发环境很简单,只需要安装好 Xcode 就可以搞定了。

开发工具准备

下载Andriod Studio开发工具,以及Android SDK(官网打不开,可以百度搜索)。
在安卓SDK目录下,输入./android sdk启动Android SDK Manager配置东软信息学院国内镜像,方便下载最新的SDK包。
配置步骤:

  1. 启动 Android SDK Manager ,打开主界面,依次选择「Tools」、「Options...」,弹出『Android SDK Manager - Settings』窗口;
  2. 在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入mirrors.neusoft.edu.cn和80,并且选中「Force https://... sources to be fetched using http://...」复选框。设置完成后单击「Close」按钮关闭『Android SDK Manager - Settings』窗口返回到主界面;
  3. 依次选择「Packages」、「Reload」。

下载Flutter SDK

访问Flutter官网下载最新稳定版Flutter SDK,链接为:https://flutter.dev/docs/get-started/install。Flutter中文社区的网址为:https://flutter.cn/

环境变量设置

考虑国内的网络环境,需要配置国内镜像,设置环境变量,在~/目录下编辑.bash_profile(如果使用zsh终端,则编辑.zshrc),编辑完后记得source ~/.bash_profile或source ~/.zshrc,使环境变量生效。

export ANDROID_HOME=/Users/lag/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PATH=/Volumes/ServerDevelop/flutter/bin:${PATH}

其中~/Library/Android/sdk为安卓SDK路径,/Volumes/ServerDevelop/flutter/bin为flutter的bin路径。注意Android SDK目录务必安装到/Users/lag/Library/Android/sdk目录,其中lag为当前登录用户名。
配置完之后在终端输入命令:

adb version

出现如下信息即表示成功。

Android Debug Bridge version 1.0.41
Version 29.0.6-6198805

ADB调试
华为手机需要额外配置,手机设置->系统->关于手机->版本号(连点7下开启开发者模式),修改手机本身的USB设置,打开拨号界面,输入*#*#2846579#*#*,自动进入工程菜单,选择后台设置——>usb端口设置——>Google模式。

adb kill-server
adb start-server
adb devices

最后一个命令会显示设备列表,如下所示,表示未授权开发。

BGR6R20109000835    unauthorized

授权后显示如下

BGR6R20109000835    device

Flutter插件安装

在Android Studio的Preferences的plugins中安装Flutter插件,安装的时候会自动安装Dart环境。安装完成后会出现“Start a new flutter project”选项。实际发现使用Android Studio创建Flutter项目比较慢,可以到工程目录使用如下命令,其中app项目名使用小写字母,多个单词以横线分隔:

flutter create {app项目名}

image.png

解决flutter依赖获取慢的问题

打开Flutter SDK:flutter\packages\flutter_tools\gradle\flutter.gradle
改为:

repositories {
       // google()
       // jcenter()
        maven{ url 'https://maven.aliyun.com/repository/google' }
        maven{ url 'https://maven.aliyun.com/repository/jcenter' }
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
    }

Flutter报错之Waiting for another flutter command to release the startup lock解决方案

  1. 关闭Android Studio
  2. 打开flutter安装目录/bin/cache
  3. 删除lockfile文件
  4. 此时可在命令行再执行flutter相关命令,完美解决

检查安装项

执行下面命令检查安装项,若有问题(打叉),按提示修复即可。

flutter doctor

Flutter中文社区指引

Flutter中文文档

Package获取与管理

官方package网址(需要科学上网)为https://pub.dartlang.org,国内镜像为:https://pub.flutter-io.cn/。可以在该网址找到对应的第三方package,package统一通过项目的pubspec.yaml文件管理。例如,添加url_launcher(一款跳转到系统浏览器的组件),可以如下配置:

version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  url_launcher: ^5.4.2

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.2

dev_dependencies:
  flutter_test:
    sdk: flutter

获取package推荐在项目目录下使用命令行获取(Android Studio中很慢,可能是没有指定仓库的原因)。

flutter pub get

安卓模拟器无法打开解决

emulator: ERROR: Running multiple emulators with the 
same AVD is an experimental feature. Please use

在AVD Manager里,打开模拟器所在的目录,进入终端删除所有的.lock文件,我的目录是:

/Users/lag/.android/avd/Pixel_2_API_29.avd

image.png

rm -f *.lock

更新到 Flutter 2.0

近期 Google 发布了Flutter 2.0稳定版,下载更新了一下,快捷操作方法如下:
官方下载稳定版,参考官方链接:Flutter Mac 配置,下载稳定版 SDK。下载完成后解压,然后更改上述配置环境变量的 Flutter 目录,使用 zsh 的话需要编辑.zshrc 文件,使用系统的终端.bash_profile,修改 Flutter 的指向,然后再执行

source .zshrc

成功后,运行 flutter doctor 命令会给出结果:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.0.6, on Mac OS X 10.15.4 19E287 darwin-x64,
    locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version
    30.0.0-rc2)
[!] Xcode - develop for iOS and macOS
    ! Xcode 11.4.1 out of date (12.0.1 is recommended).
      Download the latest version or update via the Mac App Store.
    ! CocoaPods 1.9.1 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.6)
[✓] IntelliJ IDEA Ultimate Edition (version 2020.1)
[✓] VS Code (version 1.56.0)
[✓] Connected device (1 available)

提示需要更新Xcode 和 CocoaPods 版本,根据自己需要是否更新,不更新也没太大影响。

同时切换不同的 SDK 版本

对于有时候需要在开发环境尝鲜,在生产环境使用稳定版,此时可以在 vscode 的 settings.json 中指定当前工程使用的 flutter版本,如下所示:

 //...
 "dart.flutterSdkPath": "/Volumes/ServerDevelop/flutter_v2",
 //...

/Volumes/ServerDevelop/flutter_v2是解压后的 flutter SDK 的目录所在位置。

相关文章
|
12月前
|
开发工具 Android开发 iOS开发
如何在Android Studio中配置Flutter环境?
如何在Android Studio中配置Flutter环境?
2691 160
|
12月前
|
Dart 开发工具 Android开发
在macOS系统上配置Flutter环境的步骤
在macOS系统上配置Flutter环境的步骤
1604 159
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
650 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
Dart 前端开发 架构师
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
636 26
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
499 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
8月前
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
1045 0
Vanilla OS:下一代安全 Linux 发行版
|
8月前
|
Web App开发 缓存 Rust
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
477 2
OS Copilot-操作系统智能助手-Linux新手小白的福音

推荐镜像

更多