flutter1.9 + vscode + Andorid SDK + java JDK實(shí)踐

前提

如果已安裝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 去新建

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容