写点什么

Mac 配置 Flutter 安卓开发环境

作者:岛上码农
  • 2022 年 3 月 04 日
  • 本文字数:2894 字

    阅读完需:约 9 分钟

Mac 配置 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/sdkexport PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-toolsexport PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cnexport 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.41Version 29.0.6-6198805
复制代码


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


adb kill-serveradb start-serveradb devices
复制代码


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


BGR6R20109000835  unauthorized
复制代码


授权后显示如下


BGR6R20109000835  device
复制代码

Flutter 插件安装

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


flutter create {app项目名}
复制代码



解决 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
复制代码



rm -f *.lock
复制代码

更新到 Flutter 2.x

近期 Google 发布了 Flutter 2.x 稳定版,下载更新了一下,快捷操作方法如下:官方下载稳定版,参考官方链接: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 的目录所在位置。


发布于: 刚刚阅读数: 2
用户头像

岛上码农

关注

还未添加个人签名 2022.03.03 加入

还未添加个人简介

评论

发布
暂无评论
Mac 配置 Flutter 安卓开发环境_flutter_岛上码农_InfoQ写作平台