はじめに
androidのエミュレータは本来Android Studioのメニューバー>[Tools]>[AVD Manager]を選択して起動するものだが、実際はSDKの中に実行ファイルがあるのでそれを直接動かせば起動できる。 ただし、環境変数周りで若干引っかかったので(結論は簡単だが)まとめておく。
なお、環境はmacを想定するが、本質的にやることはwindowsも同じはずなので適切なパスを設定すればうまくいくはず。
結論なにをするか。
~/.bash_profile
に以下を追記するだけ。
ANDROID_HOME=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME:$ANDROID_HOME/emulator:$ANDROID_HOME/tools/:$ANDROID_HOME/platform-tools
上記の注意として、パスへの追加順には若干注意が必要。
$ANDROID_HOME/emulator
を$ANDROID_HOME/tools/
の前に追加して探索優先度を上げる必要がある。 上記そのままコピペすれば問題はないが、逆にすると/tools/emulatorの方が使用されてエラーPANIC: Missing emulator engine program for 'x86' CPU.
が出る可能性がある。
その後ターミナル起動 or source ~/.bash_profile
をして設定を適用させれば以下のようにして実行が可能になる。
$ emulator -list-avds avd1 $ emulator @avd1 // ...emulatorが別ウィンドウで起動する。
もし、上記のemulator -list-avds
で何も応答がない場合、エミュレータに使うデバイスイメージ(Android Virtual Device)が存在しない可能性がある。(初めての人は絶対に存在しない)
その場合は、一度何でもいいのでAndroid Studioを立ち上げてからAVD Managerを起動して、まずavdを作成しなければいけない。
補足
上記で、環境変数ではなく$ANDROID_HOME/emulator/emulator
のシンボリックリンクを/usr/local/bin/emulator
とかに作成すればいいのでは?と考える場合があると思う。
私もそれを試したが、なぜかうまく行かなかった。原因はわからないがその場合avdが見つからなくなる。
一応環境変数にANDROID_AVD_ROOTとかそれっぽいのがあるが、これを設定しても自分の場合はうまく行かなかった。
そういった、試行錯誤のうえ上記にたどり着いたので、素直に上記でやることをおすすめしたい。
(何らかの環境による差異が影響している可能性もあるけれど…)