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' }
如下: