Android Studioでデバッグをしていると、エミュレータがバグることがあります。
- ブラックアウトする <- 画面が消灯していませんか?電源ボタンクリックを試行すること。
- 文字が欠ける
- アイコンが表示されない
- アプリのインストールに失敗する
- エミュレータが起動しない
原因として疑わしいのは
- PCのスペック不足 (特にメモリとハードディスクI/O速度)
- 単に自分で作ったアプリがバグっている
- エミュレータ名称に変な文字を使っている
- Microsoft Visual Studioのエミュレータ構成と干渉 ※開発機を分けましょう!!
- エミュレータ物理ファイルを直接操作した
ですが、バグったものはしょうがないので対処する方法を紹介します。
Android Studioの再起動で治ればいいですが、多くの場合いったんおかしくなるとエミュレータを×で閉じるだけでは解決しません。
治療法は
- 対象エミュレータ ( Virtual Device 構成)のコールドブート ( Cold Boot )
※Android 端末の再起動に相当 - ADBサーバ ( Android Debug Bridge Server )の再起動
- 対象エミュレータ ( Virtual Device 構成)の初期化 ( Wipe Data )
- 対象エミュレータ ( Virtual Device 構成)の削除&再作成
- Android Studioの再インストール
- 禁じ手 エミュレータの物理ファイルの削除
コールドブート
端末の再起動にあたる、コールドブート ( Cold Boot )を実行します。
まず、対象のエミュレータを閉じます。
次に、デバイスマネージャ ( Device Manager )から対象エミュレータの三点コロンをクリックすると、Cold Boot Nowという項目があるので実行します。
これで端末が再起動されます。
別な方法として、エミュレータ起動中に[操作アイコンの電源ボタン]を長押しすると、実機のように電源メニューが表示されるので、そこから再起動できます。
※長押しではなくクリックすると、実機のように画面が消灯します。
ADBサーバの再起動
ADBサーバ ( Android Debug Bridge Server )を再起動します。
まず、全てのエミュレータを閉じます。
次に[ツール]-[Troubleshoot Device Connections]からAssistantを起動します。
PCのトラブルシューティングが役に立った試しは無いがこれは役に立つ。
次に、Assistantのnextを2回クリックして、3画面目のRestart ADB Serverをクリックし、ADBを再起動します。
数秒程度でADBサーバの再起動が完了します。
対象エミュレータの初期化
Cold BootやADBサーバの再起動を試しても解決せず、かつ、特定のVirtual Deviceでのみ動作がおかしい時は、エミュレータの初期化を行います。
初期化すると、初めて仮想デバイスを作成したときと同じ状態に戻るので注意が必要です。
まず、対象のエミュレータを閉じます。
次に、デバイスマネージャ ( Device Manager )から対象エミュレータの三点コロンをクリックすると、Wipe Dataという項目があるので実行します。
これで、対象エミュレータが初期化されます。
他
万が一、上記の方法でも治らない場合は、対象エミュレータを削除して作り直すのが良いです。
さらにそれでもダメな場合は、エミュレータを定義している物理ファイルをすべて削除するのも手ですが、Android Studioの再インストールの方が無難かと思います。
Android Studioを再インストールする場合、
- [該当する場合のみ] 手動インストールしたカラースキームの準備
- [該当する場合のみ] 作成済みエミュレータ構成のメモ
※全て破棄される
※※手動で物理ファイルを退避できるがオススメしない - IDE設定のエクスポート
- 念のためプロジェクトファイルをバックアップ
- インストール後の追加SDKダウンロードに備え高速回線の準備
をしてから作業に臨みましょう。
以上。