Android アプリの開発をするときは Android Studio をインストールして付属してくる Android SDK を使うことが一般的ですが、私は他のエディタで開発したかったので Android Studio をインストールしたくありませんでした。
Android Studio をインストールせずに Windows 上に Flutter の開発環境を構築したので、その方法をメモしておきます。
環境
- x86_64
- Windows 11 Home
- Powershell 7
Java
JDK はすでにインストールされているものとする。
Flutter と Android Command-line Tool
scoop で flutter と android-clt をインストールする。
scoop install flutter android-clt
続いて android-clt に含まれる sdkmanager を使って必要なものをインストールする。
sdkmanager --list # インストール済みのパッケージと利用可能なパッケージを表示する
sdkmanager platform-tools # adb などのコマンドをインストールする <https://developer.android.com/tools?hl=ja#tools-platform>
sdkmanager "platforms;android-29" # Android SDK をインストールする。数字は開発対象のバージョンに合わせる
sdkmanager "build-tools;29.0.3"
Android SDK のバージョンについては Android SDK API Level 一覧 #Android - Qiita を参照すると良い。
flutter doctor
を実行してエラーがなければ OK
エミュレータ
エミュレータを作成するにはシステムイメージが必要なのでダウンロードする。
sdkmanager "system-images;android-30;default;x86_64"
emulator
パッケージもインストールする。
sdkmanager emulator
android-clt に含まれる avdmanager を使って Android Virtual Device(AVD)を作成する。--device
に指定できる値は avdmanager list device
で確認できる。
avdmanager create avd --name android30 --package "system-images;android-30;default;x86_64" --device "pixel"
作成できているか確認する。
> avdmanager list avd
Available Android Virtual Devices:
Name: android30
Device: pixel (Google)
Path: C:\Users\hoge\.config\.android\avd\android30.avd
Target: Default Android System Image
Based on: Android 11.0 ("R") Tag/ABI: default/x86_64
Sdcard: 512 MB
環境変数 ANDROID_AVD_HOME
を設定する。この場合は C:\\Users\\hoge\\.config\\.android\\avd
にする。
ハードウェアアクセラレーションが利用可能かどうか確認する。
> . "$(scoop prefix android-clt)\emulator\emulator" -accel-check
INFO | Storing crashdata in: C:\Users\hoge\AppData\Local\Temp\\AndroidEmulator\emu-crash-34.2.15.db, detection is enabled for process: 24760
accel:
0
Please disable Hyper-V before using the Android Emulator. Start a command prompt as Administrator, run 'bcdedit /set hypervisorlaunchtype off', reboot.WHPX (10.0.22631) is installed and usable.
accel
私の環境では WHPX (Windows Hypervisor Platform) が利用できるようである (WHPX is installed and usable
と書いてるので多分そう)。できない場合は Configure hardware acceleration for the Android Emulator | Android Studio | Android Developers を見ると良いと思う。
エミュレータを起動する。
. "$(scoop prefix android-clt)\emulator\emulator" -avd android30
ウィンドウが開いてその中に Android の画面が出ているはずである。うまく行ったら☓を押してウィンドウを閉じる。
Flutter からエミュレータが認識されているか確認する。
flutter emulators
認識されていれば OK。
参考資料
- Android Studio を入れずに Android 開発環境を構築する
- コマンドライン ツール | Android Studio | Android Developers
- Android SDK API Level 一覧 #Android - Qiita
- 最近、neovimでFlutter開発することが幸せです
- akinsho/flutter-tools.nvim: Tools to help create flutter apps in neovim using the native lsp
- Make Android apps | Flutter
- Android Emulator の仮想デバイスを使用する | Android Open Source Project
- avdmanager | Android Studio | Android Developers
- Configure hardware acceleration for the Android Emulator | Android Studio | Android Developers