因為舊NB修好了,所以來試試 VSCode 做 Flutter 開發。
看看會不會像Android Studio 一樣慢...
VSCode 安裝 Flutter Extension,然後啟動Flutter Extension的doctor command,他說要找Flutter SDK。
所以去下載Flutter SDK zip。看安裝說明,這個 SDK 安裝其實就市一個 folder。
所以也可以用 git clone。不必用 zip 解壓縮。
安裝到 C:\flutter,然後update PATH:加上 C:\flutter\bin
開啟新cmd. 執行 flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.17.1, on Microsoft Windows [Version 6.1.7601],
locale zh-TW)
[X] Android toolchain - develop for Android devices
X Unable to locate Android SDK.
Install Android Studio from:
https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK
components.
(or visit
https://flutter.dev/docs/get-started/install/windows#android-setup for
detailed instructions).
If the Android SDK has been installed to a custom location, set
ANDROID_SDK_ROOT to that location.
You may also want to add it to your PATH environment variable.
[!] Android Studio (not installed)
[√] VS Code, 64-bit edition (version 1.45.1)
[!] Connected device
! No devices available
! Doctor found issues in 3 categories.
應該是 OK。
回到 VSCode...
View -- Command Palette -- Flutte : Run Flutter Doctor
可以在 Output Window 看到上面一樣的內容,代表安裝 OK。
follow 接下來的Test Drive,New Project : myapp。
自動產生一個 code skeleton。
要 RUN 的話,要啟動 Emulator,在裝 flutter extension時,已經順便裝了 Android iOS emulator extension 了。
在 Windows 上,只support Android Emulator。
要在 Mac 上run VSCode,才能 support iOS Emulator。
但是.. 要 launch Android Emultor,好像還是需要Android SDK。
而且不能只download command line tool,要啟動 emulator 得話,一定要 Android Studio。
-- 如果是連接真的 Android Phone,是否還是需要 Android Studio 呢?還是 Command Tool (adb) 就可以?
測試看看...download, unzip,裡面沒有 adb ....
download, unzip,add PATH 之後,adb command OK。
但是 插入 android phone缺 driver..
裝置管理員,更新驅動,point to unzip folder.. OK
<br>
adb device 找到 手機 (pixel2)後,重新啟動 VSCode,下方的 NO Device 改成 Pixel2 了...
結果還是不行,要我 run flutter doctor
其實上面 run doctor 時,就有說一定要 android sdk 了...
所以,還是逃不掉安裝 Android Studio 的命運。
更新:
這一篇,flutter beta 支援 web app 了,所以可以不用emulator 或是真的 device。
所以可能真的不用 android sdk 了...