はじめに
ReactNative-Expo便利ですよね。普段はiOSアプリを開発しているのですが、Android版も作ってみることにしました。
Android端末で直接動かせばよいのですが、たまたまバッテリーが切れてしまったのでAndroidエミュレータで起動することに。
環境
- macOS Catalina Ver10.15.2
- AndroidStadio Ver3.5.3
- ReactNative-Expo
Expoにてのエミュレータ起動方法
- iOS・・・expo start > i
- Android・・・expo start > a
コマンドがわからなかったらexpo startの次画面で?と入力
エラー内容
Trying to open the project on Android…
Couldn’t start project on Android: Error running adb: No Android device found. Please connect a device and follow the instructions here to enable USB debugging:
https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select “Use custom Android SDK tools”, and point it at your Android SDK directory.
No Android device foundとでているので、エミュレータ用のAndroid deviceがないよーというエラーみたいですね。過去にエミュレータ用の端末を作っていたはずだったのですがハマりました。
AVD Managerから過去のエミュレータ端末を見てみると、HAXMをインストールしてとのエラーメッセージが。多分この辺が原因そうですね。
AndroidStadio起動 > (右下の歯車)AVD Manager > Create Virtual Device > (エミュレータ用のデバイスを作成する)
エミュレータ用のデバイスを作成した後に、下記項目をチェックしましょう。
- デバイス一覧画面のActionsにあるスタートマークから起動できるか
- デバイス一覧画面のCPI/ABIがx86か
HAXMのインストール
HAXM(Hardware Accelerated Execution Manager)のこと。Android エミュレーターの高速化に役立つ、Intelから提供されているハードウェア支援みたいです。
それでもエラーが消えない場合は、デバイス一覧画面から古いデバイスを削除してみましょう。新しいエミュレータを作成したときは同じエラーがでました。
エミュレータの古いものを削除したところ、expoのコマンドから起動できるようになりました。おそらく一番上のデバイスを使う設定とかになってそうです。
それにしても、昔よりもAndroidエミュレータの起動時間が早くなりましたね。。。初期の頃は数分かかってたのに、数十秒で立ち上がって感動しました。
これなら実機ない場合とかも、ラクラクとデバッグできそうです。
コメントを残す