Android探路先鋒之Flutter安裝篇
說實話Flutter安裝起來著實不易。
此處貼上一個點燈篇,電腦配置和系統環境變數完整的話一般15分鐘內搞定。
第一步 安裝 Flutter SDK
這個過程需要2-15分鐘左右。
第二步 安裝AS外掛
分別安裝Flutter外掛和Dart外掛
Ctrl+Alt+S ->Plugins 如下找到兩個外掛並重啟AS
這裡可能出現下載失敗的問題,甚至即使翻牆也無法獲取的。這個時候可以自行去官網下載,這邊我就直接提供給你們
Flutter和Dart外掛可以在AndroidStudio直接 Install plugins from disk。
安裝重啟後 效果如下
但是這還遠遠不夠,flutter的配置才剛剛開始。
第三步 配置環境變數
%flutter_home%\bin;D:\sdk\tools;D:\sdk\platform-tools;%JAVA_HOME%\bin;C:\Windows\System32\WindowsPowerShell\v1.0\
這個flutter_home和JAVA_HOME一樣 當讓你也可以直接寫全路徑
其中配置了 flutter sdk ,androidStudio sdk 和adb 路徑 最後是 PowerShell的windows指令碼環境變數 為什麼要說這個在後面介紹。
第四步 配置flutter sdk
在安裝並且配置好環境變數的前提下 開啟windows 的dos介面
win+R 輸入cmd 鍵入 flutter doctor 會檢查並更新 dart sdk。
無任何意外情況下會下載一次dart.zip並順利解壓。
如下圖
現在就來介紹一下不正常的情況處理
BUG : flutter doctor Unzipping Dart SDK... 使用“1”個引數呼叫“NameSpace”時發生異常:“未指定的錯誤 (異常來自 HRESULT:0x80004005 (E_FAIL))” 所在位置 D:\flutter_sdk\bin\internal\update_dart_sdk.ps1:62 字元: 28 + $zip = $shell.NameSpace <<<< ($dartSdkZip) + CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : ComMethodTargetInvocation Error: Unable to update Dart SDK. Retrying...
解決方法:
PowerShell 命令預設不執行psl指令碼 需設定許可權
可以繞過PowerShell Execution Policy
官網解釋- PowerShell版本過低
官網解釋- PowerShell缺少uzip命令
升級 PowerShell
下載 7-zip 工具
最後配置環境變數
%7-zip%;
玩得好好的更新了下flutter就出現這玩意
windows 下配置環境變數
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
C:\Users\Administrator>flutter doctor
Downloading package sky_engine...(cached)
Downloading common tools...(cached)
Downloading windows-x64 tools...(cached)
Downloading android-arm-profile/windows-x64 tools...(cached)
Downloading android-arm-release/windows-x64 tools...(cached)
Downloading android-arm64-profile/windows-x64 tools...(cached)
Downloading android-arm64-release/windows-x64 tools...(cached)
Downloading android-x86 tools...
Failed to retrieve Flutter tool depedencies: .
If you're in China, please follow https://github.com/flutter/flutter/wiki/Using-
Flutter-in-China
Oops; flutter has exited unexpectedly.
Sending crash report to Google.
Failed to send crash report due to a network error: SocketException: OS Error: ä
¿¡å·ç¯è¶…时时间已到
, errno = 121, address = clients2.google.com, port = 50290
Crash report written to C:\Users\Administrator\flutter_02.log;
please let us know at https://github.com/flutter/flutter/issues.
但是說實話 出去抽個煙 回來多搞幾次flutter doctor突然又好了。建議不要更新flutter 或者按照上面配置好了再更新。
C:\Users\Administrator>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, v0.2.11-pre.23, on Microsoft Windows [é—å Ÿæ¹° 6
.1.7601], locale zh-CN)
[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
! Some Android licenses not accepted. To resolve this, run: flutter doctor
--android-licenses
[√] Android Studio (version 3.0)
[√] Connected devices (1 available)
! Doctor found issues in 1 category.
這個問題偶爾會出現
是ssh的問題 我的是因為 fiddler4 造成的問題 全部退出 重新整理幾次桌面 用電腦管家清理一下
Start-BitsTransfer : 無法與伺服器建立連線
所在位置 D:\flutter\bin\internal\update_dart_sdk.ps1:47 字元: 19
+ Start-BitsTransfer <<<< -Source $dartSdkUrl -Destination $dartSdkZip
+ CategoryInfo : InvalidOperation: (:) [Start-BitsTransfer], Exce
ption
+ FullyQualifiedErrorId : StartBitsTransferCOMException,Microsoft.Backgrou
ndIntelligentTransfer.Management.NewBitsTransferCommand
第五步 建立一個新的flutter工程
和建立一個AS工程一樣 貌似更加簡單。一直下一步 等待建立完畢。最後專案目錄如下
要注意的是
main.dart才是專案的入口 上面的android和iso資料夾只是一個基本的框架而已,以後的邏輯和頁面都將在dart檔案裡完成。
關注公眾號領取更多幹貨