文章按步驟依次為 開發(fā)環(huán)境安裝喧兄、設(shè)備調(diào)試準(zhǔn)備(真機、WIFI連接啊楚、模擬器等)吠冤、項目的創(chuàng)建和運行,因為有好幾個環(huán)境變量需要設(shè)置恭理,相對于其他安裝完就算完事的開發(fā)環(huán)境拯辙,會復(fù)雜不少。
1. 使用國內(nèi)鏡像
創(chuàng)建兩個用戶環(huán)境變量,在中國使用Flutter
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
2. SDK涯保、編輯器和插件
- 解壓诉濒,并將/bin目錄加到環(huán)境變量中。
- 打開一個終端夕春,執(zhí)行
flutter doctor
檢查是否仍需其他依賴未荒。
2.1 Android SDK的安裝
下載命令行工具,解壓到
F:\Android\sdk
創(chuàng)建三個環(huán)境變量
JAVA_HOME
(安裝jdk的路徑),ANDROID_HOME
(F:\Android
),ANDROID_SDK_ROOT
(F:\Android\sdk
)及志,并把Android\sdk\bin
加入到環(huán)境變量片排。-
運行
flutter doctor
,注意Android-toolchains部分速侈,執(zhí)行提示命令率寡,比如提示我執(zhí)行兩個命令:# 安裝需要的Android環(huán)境 "F:\Android\tools\bin\sdkmanager" "platforms;android-28" "build-tools;28.0.3" # 修復(fù)許可,輸入Y接受即可 flutter doctor --android-licenses
使用代理
sdkmanager --proxy=http --proxy_host=127.0.0.1 --proxy_port=1080 #適用于所有命令倚搬,指示使用代理
也可以在用戶目錄下~/.android
創(chuàng)建androidtool.cfg
文件:
http.proxyPort=1080
http.proxyHost=127.0.0.1
2.2 編輯器
我使用VSCode
- 查找并安裝擴展
flutter
- 然后使用
ctrl
+shift
+p
調(diào)出命令面板, 輸入 ‘doctor’, 然后選擇 ‘Flutter: Run Flutter Doctor’, 看會不會出問題, 沒有錯誤就行冶共。Android Studio不用管。
2.3 連接設(shè)備
連接工具準(zhǔn)備
這里需要使用adb每界,方便起見比默,安裝platform-tools
,包括了adb以及其他工具盆犁。
sdkmanager "platform-tools"
安裝完之后,將F:\Android\platform-tools
添加到環(huán)境變量篡九,方便后續(xù)使用谐岁。
手機連接
- 進(jìn)入開發(fā)者模式
- 進(jìn)入開發(fā)者選項,啟用USB調(diào)試
- 使用數(shù)據(jù)線連接電腦榛臼,同意USB調(diào)試
- 使用
adb tcpip 5555
命令伊佃,設(shè)置Wifi連接的端口號為5555
使用WIFI
將電腦和手機處于同一WiFi下,也可以Windows自己開(Win10自帶了)沛善,手機WiFi的IP可以通過手機信息查看航揉,首先需要能ping通。
然后電腦執(zhí)行連接命令金刁,連接手機IP帅涂,顯示連接成功即可。
adb connect xxx.xxx.xx.xx
Android模擬器
# intel 硬件加速尤蛮,可能需要打開Android/extras/intel目錄媳友,進(jìn)行安裝silent_install.bat
sdkmanager "extras;intel;Hardware_Accelerated_Execution_Manager"
# Windows打開Hyper-V服務(wù)
# 28版本的鏡像
sdkmanager "system-images;android-28;default;x86_64"
# 模擬器
sdkmanager "emulator"
# 創(chuàng)建一個名為‘Pie’的模擬器實例,后續(xù)指令可能需要在Android/emulator目錄下執(zhí)行产捞,或者將其加入環(huán)境變量
avdmanager create avd -n Pie -k "system-images;android-28;default;x86_64"
.\emulator.exe -avd Pie
# 刪除模擬器
avdmanager delete avd -n Pie
# 腳本
emulator.exe -avd Pie -no-boot-anim -scale 96dpi -dpi-device 160 -partition-size 100
模擬器皮膚
簡單說就是在用戶目錄下可以找到自己創(chuàng)建的模擬器醇锚,比如C:\Users\{users}\.android\avd\Pie.avd
,進(jìn)去可以看到有一個文件config.ini
(使用實體鍵盤也在這里設(shè)置)坯临,添加下面兩行就可以焊唬,皮膚可以去Github下載恋昼,skins目錄里都是。
# 皮膚名
skin.name=pixel
# 皮膚路徑赶促,里面有l(wèi)ayout文件
skin.path=G:\Android\skins\pixel
也可以復(fù)制修改layout文件液肌,去掉設(shè)備邊框,設(shè)置屏幕大小之類的芳杏,比如:
parts {
device {
display {
width 480
height 800
x 0
y 0
}
}
}
layouts {
portrait {
width 480
height 800
event EV_SW:0:1
part1 {
name portrait
x 0
y 0
}
part2 {
name device
x 0
y 0
}
}
landscape {
width 600
height 360
event EV_SW:0:0
part1 {
name landscape
x 0
y 0
}
part2 {
name device
x 0
y 0
rotation 3
}
}
}
3. 項目
調(diào)出命令面板矩屁,使用Flutter: New Project
根據(jù)提示創(chuàng)建項目。進(jìn)入項目爵赵,VSCode的右下角也會顯示連接的設(shè)備吝秕。執(zhí)行flutter run
運行。
3.1 示例項目
在Flutter安裝目錄下空幻,有一個examples文件夾烁峭,里面有各種示例項目,包括gallery秕铛。通過git pull可以及時拉取最新代碼约郁。進(jìn)入項目,使用flutter run
可以執(zhí)行但两。
4. 其他問題
卡在Initializing gradle
我是因為gradle國內(nèi)下載太慢鬓梅,方法是自己下載,然后放到gradle的下載目錄里谨湘,讓它接著執(zhí)行之后的操作绽快。
- 停下來
- 查看用戶目錄下的
.gradle\wrapper\dists\
, 比如我的C:\Users\kwokg\.gradle\wrapper\dists\gradle-4.10.2-all
- 有一個文件夾,比如我的
gradle-4.10.2-all
- 自行下載
https://services.gradle.org/distributions/gradle-4.10.2-all.zip
- 將下載下來的zip文件紧阔,放到原文件夾下名字很亂的文件夾下坊罢,比如
gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv
這個文件夾。 - 重新執(zhí)行
flutter run
- 啟動