Flutter 环境安装 && 运行#
背景#
Flutter 环境配置到运行,问题备忘记录。比如遇到Android sdkmanager tool not found
和Running Gradle task 'assembleDebug'...
Flutter 安装#
超级精简版#
通过homebrew
直接安装,可能需要外网
brew install flutter
手动,Flutter 环境搭建#
-
首先下载 Flutter 安装包,下载地址:https://flutter.dev/docs/development/tools/sdk/releases?tab=macos
-
其次,解压已下载文件,把文件放入指定目录中,注意:建议放入可以放入用户根目录下,因为后续需要指定 bin 文件地址,这个目录最好不会经常变动
-
然后,配置环境变量
打开 terminal,如果是 zsh,输入open .zshrc
;(如果是 bash,则输入open .baseprofile
)在文件末尾添加如下代码,其中pwd
为刚刚解压的 flutter/bin 文件地址,export PATH="$PATH:`pwd`/flutter/bin"
同时,由于国内的原因,还可以添加以下两个环境变量
export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
如下图:
编辑完成
.zshrc
(或者.bashprofile
)文件后,保存关闭,运行source .zshrc // 编辑的如果是.bashprofile,则输入source .bashprofile
然后运行
flutter doctor
,即可判断 flutter 是否安装好。
编辑器安装#
-
Android Studio
下载安装 Android Studio 后,还有是三个地方需要安装- SDK Manager,安装 SDK Platforms,根据实际常见添加需要的安卓版本
- AVD Manager,添加安卓模拟器
- Plugins,添加 Flutter 和 Dart 插件
如下图:
-
Xcode,直接下载安装,然后打开一次即可。
-
VSCode,打开 VSCode 的插件界面,搜索 Flutter,安装即可。
校验环境#
输入flutter doctor
,根据提示判断环境是否安装好,可能会遇到问题,可参考下面的问题记录
输入flutter doctor --android-licenses
,会有提示选择 y/N,统统选择 y 即可。
创建项目#
使用 VSCode 创建 Flutter 项目,打开 VSCode(记得安装 Flutter 插件),同时按CMD+Shift+P
,唤起快捷命令,输入 Flutter,选择 Flutter: New Applicaiton Project,如下图
然后选择项目存放地址,项目名字,即可
运行模拟器#
列举支持的模拟器
flutter emulator
结果如下:
打开指定的模拟器
flutter emulators --launch xxx
运行模拟器
flutter run
然后选择要运行的模拟器,如下:
问题记录#
-
运行
flutter doctor
,报错:Android sdkmanager tool not found
修改:打开 Android Studio,点击 Config->SDK Manager,选中 SDK Tools,取消勾选底部
Hide Obsolete Packages
,然后能看到Android SDK Tools(Obsolete)
,勾选 Apply,等下载完成即可。
-
运行
flutter doctor --android-licenses
,报错:Failed to install android-sdk: “java.lang.NoClassDefFoundError:
修改:打开 Android Studio,点击 Config->SDK Manager,选中 SDK Tools,取消勾选底部
Hide Obsolete Packages
,能看到Android SDK Command-line Tools(latest)
,勾选 Apply,等下载完成即可。 -
启动模拟器卡在
Running Gradle task 'assembleDebug'...
背景:配置好 flutter 环境之后,选择安卓模拟器,启动时,一致卡在
Running Gradle task 'assembleDebug'...
原因:Gradle 的 Maven 仓库在国外,因此需要使用阿里云的镜像地址。
修改:
andriod/build.gradle
文件中 repositories 修改为
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' }
如下: