はじめに
自分用の便利Androidアプリがほしーなー。って思い、久々にAndroid Studioをインストール。
実機を接続するのも手間だな。と思い、仮想デバイスを起動してみたらエラーで動かず。
色々ネットサーフィンして、考えて起動できたので、残します。
エラーメッセージ
The emulator process for AVD Small_Phone has terminated.
対処法
環境変数のPATHに、エミュレータのパスを追加する
・PATH に追加するエミュレータのパス
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator
登場するフォルダ、ファイル
C:\Users\ユーザ名\AppData\Local\Google\AndroidStudio2024.3\log\idea.log
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator\emulator.exe
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator\msvcp140.dll
C:\Users\ユーザ名\.android\avd\デバイス名.avd\emu-launch-params.txt
対処法に辿り着いた流れ
その1 ググる。
android studio virtual device 起動しない
で検索し、こちらの記事に辿り着く。
ふむふむ、ログがあることを知り、ログを見てみる。
C:\Users\ユーザ名\AppData\Local\Google\AndroidStudio2024.3\log\idea.log
エラーコードを発見!
1073741515 (0xC0000135)
この時点でQiitaの方とは現象が違っていた。ので、ググりなおす。
~中略~
2025-05-06 12:36:45,764 [3844273] INFO - Emulator: Small Phone - Process finished with exit code -1073741515 (0xC0000135)
2025-05-06 12:36:45,764 [3844273] WARN - Emulator: Small Phone - Emulator terminated with exit code -1073741515
~中略~
その2 ググりなおす。
以下で雑にググる。
Emulator: Small Phone - Process finished with exit code -1073741515 (0xC0000135)
StackOverFlowに辿り着く。が、ぱっと見、該当しそうな対処法が見当たらず。
自分と全く同じエラーの方を発見!
To resolve this issue, add the emulator path to your environment variables. On a Windows PC, the emulator path is typically:
環境変数にエミュレーターのパスを追加すればよい。
環境変数に何の変数名で追加すればよいのか、わからん。
今、思えば素直にPATHで良かったと後悔(笑)
その3 環境変数に何の変数名で追加すればよいのか、考える。
環境変数を調べてみると、色々出てくる。
気分転換にエミュレーターのパスをのぞいてみると、「emulator.exe」というものを発見!
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator
これはコマンドラインで実行もできるのでは?と思い、実行してみる。
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator>emulator.exe
INFO | Android emulator version 35.3.12.0 (build_id 12990079) (CL:N/A)
INFO | Graphics backend: gfxstream
ERROR | No AVD specified. Use '@foo' or '-avd foo' to launch a virtual device named 'foo'
ふむふむ、-avd デバイス名 とエラーメッセージから理解し、再実行。で起動することを確認。
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator>emulator.exe -avd Small_Phone
その4 環境変数を忘れて、実行時パラメータが怪しいと考える
コマンドラインで起動することを確認できたので、Android Studioから実行するとなぜ起動できないのか?を考えて、パラメータの差異?と仮説。
実行時パラメータは何だろう。と考え、ホームディレクトリを見てみると、「.android」というフォルダを発見。
C:\Users\ユーザ名\.android>
更に中身を漁ると「avd」というフォルダを発見し、中身を見るとデバイス名のフォルダ(Small_Phone.avd)を発見!
そして、「emu-launch-params.txt」という如何にもパラメータっぽいファイルを発見し、中身を確認。
(今、再現すると1行目が「C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Android Studio」になるが謎。)
C:\Users\ユーザ名
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator\emulator.exe
11
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator\emulator.exe
-netdelay
none
-netspeed
full
-avd
Small_Phone
-qt-hide-window
-grpc-use-token
-idle-grpc-timeout
300
上記より、以下のコマンドを作成し実行してみると、実行ができる。し、Android Studio上に表示がされる。
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator>emulator.exe -netdelay none -netspeed full -avd Small_Phone -qt-hide-window -grpc-use-token -idle-grpc-timeout 300
この時点で、もうコマンドラインで起動して、運用する。でもいいかな。って思い始めましたが。
なんで、Android Studioから実行ができないんだろー。と悩む。
試しに絶対パスでも試してみたが、正常に起動する。
C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator>C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator\emulator.exe -netdelay none -netspeed full -avd Small_Phone -qt-hide-window -grpc-use-token -idle-grpc-timeout 300
その5 実行しているカレントフォルダを疑う。
もしかして、実行しているカレントフォルダが違う?
と疑う。
で、「emu-launch-params.txt」の1行目のパスはカレントフォルダ?と思い、コマンドラインで「C:\Users\ユーザ名」に移動し、エミュレーターを起動してみる。
C:\Users\ゆーざめ\AppData\Local\Android\Sdk\emulator\emulator.exe -netdelay none -netspeed full -avd Small_Phone -qt-hide-window -grpc-use-token -idle-grpc-timeout 300
来たー!エラーが来たー!
エラーを見るとMSVCP140.dllが見つからないと。
正常に起動できる「C:\Users\ユーザ名\AppData\Local\Android\Sdk\emulator」を見ると、「MSVCP140.dll」がある。
その6 環境変数を思いだす。
「MSVCP140.dll」を見つけられるように環境変数のPATHに追加すればよいのでは?と気づく。
あー、環境変数ってPATHに追加すればよいのか。と考える。
その7 環境変数に追加
ユーザ環境変数のPATHとシステム環境変数のPATH、どっちに追加すればよいんだ・?
というところで、ユーザ環境変数のPATHに追加してみる。
コマンドラインは、エラーが出なくなった。
Android Studioは、まだエラーが出る。Android Studioを再起動し、再実行するとエラーが出なくなった!
(エラー発生当時はAndroid studioを再起動してもダメで、システム環境変数に追加してPC再起動したらうまくいった。)
参考資料