1. 程式人生 > >Android探路先鋒之Flutter安裝篇

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檔案裡完成。

關注公眾號領取更多幹貨