前提
如果已安裝Git for Windows,請(qǐng)確保命令提示符或PowerShell中運(yùn)行?git?命令,不然在后面運(yùn)行flutter doctor時(shí)將出現(xiàn)Unable to find git in your PATH錯(cuò)誤, 此時(shí)需要手動(dòng)添加C:\Program Files\Git\bin至Path系統(tǒng)環(huán)境變量中
第一步:安裝flutter
step 1
? ? 配置鏡像環(huán)境變量---讓flutter命令執(zhí)行更快,比如pub下載依賴
? ? PUB_HOSTED_URL=https://pub.flutter-io.cn
? ? FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
step 2
拉代碼git? clone? https://github.com/flutter/flutter,(如:C:\src\flutter;注意,不要將flutter安裝到需要一些高權(quán)限的路徑如C:\Program Files\)
在Flutter安裝目錄的flutter文件下找到flutter_console.bat,雙擊運(yùn)行并啟動(dòng)flutter命令行,
step3
配置fultter環(huán)境變量,以便使用flutter命令:在path加入的路勁指向flutter文件夾的bin目錄,例如:C:\flutter\bin
接下來,你就可以在Flutter命令行運(yùn)行flutter命令了
完成以上三步就成功安裝了flutter,運(yùn)行flutter doctor -v 查看具體信息,會(huì)提示Andorid SDK未安裝等
第二步: vscode安裝插件
? 在插件市場(chǎng)安裝flutter,dart
第三步: java jdk 安裝
?? 目的:執(zhí)行java -version能成功展示版本號(hào)
為了避免高版本帶來的不必要影響,我這里安裝 java8
第四步: 下載Andorid SDK?
注意:建議使用andriod studio直接批量下載(不踩坑,avd版本高且服務(wù)齊全),以下介紹權(quán)當(dāng)了解配置
? ? 我在這里下載: 這里面有? SDK Tools (Android SDK的可下載組件。它包括用于Android SDK的完整開發(fā)和調(diào)試工具集)+ SDK Platform-Tools (這是 adb, fastboot 等工具包) +? Build-Tools (這是Android開發(fā)所需的Build-Tools) + Andorid? SDK? 的組合??梢栽诰W(wǎng)站里下載相應(yīng)的版本組合到一個(gè)文件夾,也可以使用SDK Manager 來可視化管理以上所有需要的東西
? ? ? ? 這里我選擇在網(wǎng)站下載一個(gè)SDK Manager

? ? ? ? 下載上圖中第二個(gè)圈圈中的,運(yùn)行SDK manager.exe

運(yùn)行后查看大神的詳細(xì)介紹,一路安裝會(huì)發(fā)現(xiàn),原本空空的platforms 文件夾有了安裝sdk。也多了build-tools,platform-tools

再來配置platform-tools和tools的環(huán)境變量,查看文件夾就能明白是為了讓你能執(zhí)行adb,和sdkmanager 和其他 命令
? 注意android sdk環(huán)境變量需要在path后面添加\platform-tools和\tools兩條路徑,我的文件放在這個(gè)testjdk文件夾
把這句;D:\testjdk\platform-tools;D:\testjdk\tools\bin添加到系統(tǒng)變量Path后面就行了
在cmd命令窗口輸入android -h驗(yàn)證環(huán)境變量是否配置成功
---------------以上就是全部安裝內(nèi)容-----------
遇到的問題
1.在命令提示符或PowerShell窗口中運(yùn)行此命令。目前,F(xiàn)lutter不支持像Git Bash這樣的第三方shell。
? ? ? 不然會(huì)提示:SocketException: OS Error 信號(hào)燈超時(shí)時(shí)間已到,讓你一臉懵逼,無法繼續(xù)。
?2. windows7上 cmd指向有時(shí)候會(huì)出問題,例如嘗試找git的安裝目錄:執(zhí)行 where git? 會(huì)提示where不是內(nèi)部或者外部命令,而flutter需要git
可以發(fā)現(xiàn)C:\Windows\System32里面搜索cmd.exe可以執(zhí)行命令。將C:\Windows\System32添加到環(huán)境變量即可
3. adb.exe 是Andriod SDK 里面用來橋接設(shè)備的,位于platform-tools文件夾內(nèi),如果配置環(huán)境變量后執(zhí)行adb提示無法執(zhí)行,
也許是安裝的程序過于精簡(jiǎn)沒有附帶共用的dll,可以嘗試安裝“微軟常用運(yùn)行庫集合”。 還有可能是進(jìn)程端口被占用,打開任務(wù)管理器如果有運(yùn)行中的adb,右鍵查看是運(yùn)行的文件夾,不是自己想要的就殺掉
? 提示:adb.exe 0xc000007b 應(yīng)用程序無法正常啟動(dòng)
解決: 嘗試安裝?微軟常用運(yùn)行庫合集,重啟解決
4. 證書許可?
網(wǎng)上說要執(zhí)行flutter doctor --android-licenses? 無效,提示Unknown argument --licenses參數(shù)未知



網(wǎng)上說是因?yàn)閟dkmanager版本太低,嘗試升級(jí)sdk? sdkmanager --update? 要直到執(zhí)行sdkmanager? --help里面出現(xiàn) --licenses命令才算升級(jí)成功,
解決這個(gè)問題要知道Andorid sdk目錄結(jié)構(gòu)。會(huì)發(fā)現(xiàn)sdkmanager.exe在 tools\bin 目錄下。環(huán)境變量的路徑要設(shè)置到bin目錄,要么直接在bin目錄shirft + 右鍵打開命令窗口。我選擇添加環(huán)境變量
? 但是很尷尬,我升級(jí)很多次都沒有出現(xiàn)這--licenses命令
3.嘗試下載 tools 文件夾? 看看有沒有此命令


進(jìn)入下載的tools文件夾打開cmd,執(zhí)行 sdkmanager --help? 發(fā)現(xiàn)有l(wèi)icenses命令,替換掉我的testjdk文件夾中的整個(gè)tools文件夾。
趕緊執(zhí)行 flutter doctor -v 看看
根據(jù)下面的提示看起來是下載的sdk指向不對(duì),而且替換文件夾后sdk manager.exe 無法運(yùn)行了(暫不影響,可以用sdkmanager --help 命令行查看可安裝的進(jìn)行安裝)。


此時(shí)我計(jì)劃新建一個(gè)testjdk,去重新下載了一個(gè),運(yùn)行上圖的SDK Manager.exe 下載所有需要的安卓sdk版本后,再替換tools文件夾,這里下載了第一個(gè)安裝包。
(其實(shí)網(wǎng)站里面也可以單獨(dú)下載sdk,tools,build-tools等等自己去組合)

注意改變環(huán)境變量,然后測(cè)試,會(huì)提示 Some Android licenses not accepted.? To resolve this, run: flutter doctor --android-licenses
這里按照提示執(zhí)行即可,一路yes就成功了

----------新建flutter 項(xiàng)目----------
在vscode? ? crtl + shift + p? ?
選擇第一項(xiàng) flutter? new project
輸入項(xiàng)目名
成功
下載夜神模擬器
? 提示驅(qū)動(dòng)版本過低 ---- 驅(qū)動(dòng)精靈---驅(qū)動(dòng)升級(jí)一個(gè)
? cd 到對(duì)應(yīng)夜神模擬器?目錄
打開cmd? 執(zhí)行 nox_adb.exe connect 127.0.0.1:62001? ? (把安裝目錄下的bin目錄路徑放入環(huán)境變量)
mumu模擬器同理?
adb_server.exe connect 127.0.0.1:7555
vs code打開的flutter項(xiàng)目就能看到右下角有了設(shè)備號(hào)
問題: 如果adb? devices沒有看到設(shè)備,鏈接設(shè)備容易出現(xiàn)靈異情況,時(shí)常連不上,多試幾次吧,或者nox_adb.exe disconnect 127.0.0.1:62001 后再試
----------新建flutter-web 項(xiàng)目----------
flutter channel 查看flutter分支
flutter channel? beta? 切換到beta分支(據(jù)說beta分支才有web支持)
切換分之后輸入flutter 報(bào)錯(cuò)

沒有powershell ??? windows 7 sp1 是有的,powershell 2.0
單擊“開始”、“所有程序”、“附件”和“Windows PowerShell”,然后單擊“Windows PowerShell”
Get-Host | Select-Object Version

萬能的stackoverflow 有人踩坑,?嘗試下載Windows Management Framework 5.1
stackoverflow 里面的鏈接下載的包要看和自己電腦匹不匹配,我的就不匹配,重啟過程中提示:update 失敗
只能去查官方文檔了,還是官方文檔詳細(xì):我的渣渣 win7 sp1 還要先安裝先決條件.NET Framework 4.5.2。 下面寫的非常清楚了

重啟電腦,發(fā)現(xiàn)windows update成功,驗(yàn)證flutter,可以看到切換分支后在重新下載dart pub等

1.安裝 webdev是啟動(dòng)本地服務(wù)器使用: flutter pub global activate webdev
2. 根據(jù)提示配置環(huán)境變量? C:\flutter\.pub-cache\bin? (我的flutter放在c盤)

在C:\flutter\.pub-cache\bin 打開cmd運(yùn)行webdev serve 出現(xiàn)錯(cuò)誤“‘dart’ 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序 或批處理文件。 ‘pub’ 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序 或批處理文件?!?/p>
配置環(huán)境變量dart-sdk。在flutter的bin目錄中。C:\flutter\bin\cache\dart-sdk
在path變量最后添加dart路徑=》安裝flutter存放路徑\flutter\bin\cache\dart-sdk\bin
------首次創(chuàng)建新flutter-web項(xiàng)目(在stable分支)----------
1.? vs code 創(chuàng)建項(xiàng)目? ctrl + shift + p? ? 點(diǎn)擊下拉中的flutter new? project。輸入項(xiàng)目名即可(這樣新建的項(xiàng)目包含android和ios,還沒有web文件夾。不是我想要的)
2. 命令行創(chuàng)建 web 項(xiàng)目需要安裝另一個(gè)工具?
? ? 執(zhí)行:flutter pub global activate stagehand
跟安裝 webdev 一樣 安裝成功后可以執(zhí)行下面命令查看幫助 flutter pub global run stagehand

可以看到這里有7中方式建項(xiàng)目,我選擇了web-simple (網(wǎng)友的第二項(xiàng)是:flutter-web, 私以為網(wǎng)友新建的項(xiàng)目已經(jīng)配置好flutter-web依賴,我這里沒有只能自己配置)
找到一個(gè)放項(xiàng)目的文件夾:執(zhí)行 flutter pub global run stagehand web-simple 創(chuàng)建項(xiàng)目
根據(jù)提示執(zhí)行 pub get 解析依賴包
執(zhí)行webdev serve,跑起來了。運(yùn)行就在chrome打開localhost:8080即可

3. 配置依賴,pub get 會(huì)很慢,耐心等待。。。。。
? 再次webdev serve

打包:webdev build
------第二次創(chuàng)建新flutter-web項(xiàng)目(在beta分支)----------
在vs code? ? ctrl + shift + p? 可以看到 flutter new project (還是沒有看見網(wǎng)友的 flutter new? web? project)
選擇,輸入項(xiàng)目名,創(chuàng)建成功
或者
flutter create myapp
cd myapp
由于我之前開啟了web支持(flutter config --enable-web) 可以發(fā)現(xiàn)項(xiàng)目里面有web文件夾,
根據(jù)提示,執(zhí)行flutter run,可以看見有兩個(gè)設(shè)備
選擇在chrome打開項(xiàng)目flutter run-d? chrome? 提示Failed to bind web development server


解決:點(diǎn)擊這里查看
flutter run -d chrome --web-port=8080 --web-hostname=?the value of IPv4 Address ( ipconfig 找到IPv4 )運(yùn)行成功

打包web flutter build web 會(huì)看見生成的build文件夾,代碼被編譯成js

下面探索移動(dòng)端開發(fā)鏈接設(shè)備
# 查看是否連接安卓設(shè)備:包括真機(jī),或者 AVD(開發(fā)工具提供的虛擬設(shè)備)
$ flutter devices
# 查看可用的 AVD
$? flutter emulators
1 available emulator:
Nexus_5X_API_28 ? Nexus 5X ? Google ? Nexus 5X API 28
# 啟用 AVD,會(huì)自動(dòng)打開虛擬設(shè)備,
$ flutter emulator --launch Nexus_5X_API_28 ? Nexus 5X ? Google ? Nexus 5X API 28
可用的AVD,可以運(yùn)行在放置安卓sdk目錄的? AVD? Manager.exe 去新建