Error while waiting for device: Timed out after 300seconds waiting for emulator to come online.

2020年7月9日

Android Studioを使っていて、頻繁に出て困っているのが、タイトルのエラーメッセージです。

デバッガを起動してエミュレーターの仮想端末が立ち上がる時に発生します。このエラーは検索すると山のように該当記事があります。対処の方法もいろいろありますが、いきなり結論ですが、最新のCore i7マシンにメモリをたくさん(最低でも16GB)は載せることが一番早い解決策なような気がします。

そうは言っても、今持っているマシンで開発しなければならない場合もありますから、対処法を紹介します。前提条件として、Android Studioが最新であることと、 VT-xがすでに有効になっていることとします。

AVDマネージャーで使用する仮想端末を選んで、「Wipe Data」や「Cold Boot」をまず試します。また、グラフィックスのソフトエミュレーションで動く時がありますが、遅すぎるので却下です。

それでも駄目なら、仮想端末を作り直したり、新しい仮想端末を追加します。

また、デバッグしているアプリを一度仮想端末からアンインストールするのも効果があります。

最後は、一度タイムアウトになったとしても再度リトライします。というか、リトライが一番効果的だったりします。まずはリトライを基本にしたら良いと思います。

タイムアウト以外にも、資源不足から来ていそうなエラーがいろいろあります。いくつか例を示すと

Error running 'app’: Unable to open debugger port (localhost:8600): java.net.ConnectException “Connection refused: connect"

Installation did not succeed.
The application could not be installed.
Installation failed due to: 'UNKNOWN’

Waiting for application to start debug server
Could not connect to remote process. Aborting debug session.

などですが、他にもいろいろあります。そして、これらは自分の作成したプログラム自体のバグが原因じゃありません。リトライすると何事もなかったように立ち上がるのです。

このように、マシンスペック不足で無駄な時間を使うよりも、高スペックで快適な開発環境を用意した方が絶対にいいです。私は、Android Studioの開発は最小限にして、Raspberry PiやM5Stackなどの軽いデバイスの開発に主力を置こうと思います。