Mac 搭建 Flutter 开发环境

安卓开发环境

开发工具准备

下载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,使环境变量生效。

  1. export ANDROID_HOME=/Users/lag/Library/Android/sdk
  2. export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
  3. export PUB_HOSTED_URL=https://pub.flutter-io.cn
  4. export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
  5. 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为当前登录用户名。
配置完之后在终端输入命令:

  1. adb version

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

  1. Android Debug Bridge version 1.0.41
  2. Version 29.0.6-6198805

ADB调试

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

  1. adb kill-server
  2. adb start-server
  3. adb devices

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

  1. BGR6R20109000835 unauthorized

授权后显示如下

  1. BGR6R20109000835 device

Flutter插件安装

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

  1. flutter create {app项目名}

image.png

解决flutter依赖获取慢的问题

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

  1. repositories {
  2. // google()
  3. // jcenter()
  4. maven{ url 'https://maven.aliyun.com/repository/google' }
  5. maven{ url 'https://maven.aliyun.com/repository/jcenter' }
  6. maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
  7. }

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

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

检查安装项

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

  1. flutter doctor

Flutter中文社区指引

Flutter中文文档

Package获取与管理

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

  1. version: 1.0.0+1
  2. environment:
  3. sdk: ">=2.1.0 <3.0.0"
  4. dependencies:
  5. flutter:
  6. sdk: flutter
  7. url_launcher: ^5.4.2
  8. # The following adds the Cupertino Icons font to your application.
  9. # Use with the CupertinoIcons class for iOS style icons.
  10. cupertino_icons: ^0.1.2
  11. dev_dependencies:
  12. flutter_test:
  13. sdk: flutter

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

  1. flutter pub get

安卓模拟器无法打开解决

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

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

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

image.png

  1. rm -f *.lock

更新到 Flutter 2.0

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

  1. source .zshrc

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

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

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

同时切换不同的 SDK 版本

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

  1. //...
  2. "dart.flutterSdkPath": "/Volumes/ServerDevelop/flutter_v2",
  3. //...

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

Windows 搭建 Flutter 开发环境


  • Flutter SDK版本:2.8.1
  • Android Studio版本:Arctic Fox 2020.3.1 Patch 4

下载Flutter SDK

官网下载最新版SDK,这里的版本是2.8.1,下载地址:https://flutter.cn/docs/get-started/install/windows
注意,下载完成后,解压时务必注意官方的指示,不要将SDK放到更高权限的文件夹,最好是放C盘之外的自定义目录。

请注意
请勿将 Flutter 安装在需要高权限的文件夹内,例如 C:\Program Files\。

修改Flutter的maven镜像

在flutter安装目录下的packages\flutter_tools\gradle,修改flutter.gradle文件:

  1. repositories {
  2. // google()
  3. // jcenter()
  4. maven{ url 'https://maven.aliyun.com/repository/google' }
  5. maven{ url 'https://maven.aliyun.com/repository/jcenter' }
  6. maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
  7. }

修改系统环境变量

开始菜单输入”env”打开环境变量界面,在环境变量的当前用户的PATH中增加flutter的bin目录地址。
image.png
同时增加两个环境变量,以便指定futter pub get的获取插件仓库。
image.png
image.png

  1. FLUTTER_STORAGE_BASE_URL
  2. https://storage.flutter-io.cn
  3. PUB_HOSTED_URL
  4. https://pub.flutter-io.cn

安装Android Studio

按照指引正常安装就行,记得安装emulator。之后需要按照命令行工具,在(Android SDK)目录(可以通过Android Studio查看安装目录,如下图)的/tools/bin目录下,使用sdkmanager安装命令行工具(参考:https://developer.android.com/studio/command-line/sdkmanager)。命令如下:

  1. sdkmanager --install "cmdline-tools;latest"

会出现询问是否同意license的询问,输入“Y”回车表示同意即可。image.png
image.png

添加SDK license

运行如下命令:

  1. flutter doctor --android-licenses

会出现好几个license,一路输入“Y”同意即可。

检查安装结果

运行flutter doctor检查,没问题就说明安装OK了。
image.png

踩坑记录

  • flutter doctor一直运行卡住:发现是将flutter的目录放到了C:/program files下,根本没法执行(Windows系统也没有反馈),需要将flutter目录移到C盘以外其他盘的自定义目录就好了。还有就是科学上网的问题 了,设置系统环境变量和maven镜像就好了。
  • 模拟器运行报错,提示项目路径有非ASCII字符,注意一下flutter的项目目录不可以有中文

手把手教你 Flutter 开发环境搭建 - 图9
关注岛上码农