Android Emulator とシステム イメージのトラブルシューティングと既知の問題

このページには、Android Emulator の既知の問題、回避策、トラブルシューティングのヒントが掲載されています。

ここに掲載されていない問題が発生した場合、またはここに掲載された回避策をうまく使用できない場合は、バグを報告してください

十分なディスク空き容量の確認

十分なディスク空き容量がないことによるクラッシュとハングを回避するために、エミュレータは起動時に十分な空きディスク容量があるか確認し、少なくとも 2 GB の空きがない限り起動しません。エミュレータが起動しない場合は、十分な空きディスク容量があることを確認してください。

ウィルス対策ソフトウェア

セキュリティ ソフトウェアおよびウィルス対策ソフトウェア パッケージの多くは、すべての読み取りおよび書き込みオペレーションを監視することで機能を発揮しているため、このようなソフトウェアを使用すると、Android Emulator などのツールのパフォーマンスが低下する可能性があります。

ウィルス対策パッケージの多くには、特定のアプリケーションをホワイトリストに登録する機能があり、これらのアプリケーションはパフォーマンスを低下させることなく動作できます。AVD スナップショットの保存または読み込みを行う際にパフォーマンスが低下している場合は、ウィルス対策ソフトウェアで Android Emulator アプリケーションをホワイトリストに登録することにより改善できます。

パフォーマンスへの影響は、ウィルス対策ソフトウェア パッケージによって異なります。オペレーティングシステムに含まれているウィルス対策ソフトウェア以外に追加のウィルス対策ソフトウェアがインストールされている場合、簡単なテストを実行すると、エミュレータの読み込みおよび保存オペレーションのパフォーマンスに大きな影響を与えるウィルス対策ソフトウェアを特定できます。

ウィルス対策ソフトウェアによっては、Android Emulator と互換性がない場合があります。

アバスト ソフトウェアを使用していて、Android Emulator の実行に問題がある場合は、アバストのトラブルシューティング設定で利用可能な場合は、入れ子式仮想化を使用しますおよびハードウェアによる仮想化支援機能を利用するを無効にしてください。さらに、アバストでハードウェアによる仮想化を無効にした後、SDK Manager から最新の HAXM をすべて再インストールし、再度適切にセットアップされていることを確認してください。

最新ではなく、現在サポートされていない Mac OS バージョン上の HAXM

最新ではなく、現在サポートされていないバージョンの Mac OS X(10.9 など)で Android Emulator を使用している場合は、HAXM も古いバージョン(6.1.2)を使用する必要があります。

アップデート後に Android Emulator の動作が遅い

さまざまな外部要因により、アップデート後に Android Emulator の動作が遅くなる場合があります。トラブルシューティングを開始するには、次の手順に従うことをおすすめします。

  • Windows で Android Emulator を実行している場合は、Windows Updates KB4013429 および KB4015217 がインストールされているか確認してください。これらのアップデートをアンインストールすると、Android Emulator のパフォーマンスが向上したという報告が寄せられています。Windows Update の KB4015438インストールすると、エミュレータのパフォーマンスが向上したことも報告されています。
  • Intel GPU(特に Intel HD 4000)を使用している場合は、最新の Intel グラフィック ドライバをダウンロードしインストールしてください。
  • マシンに Intel HD 4000 GPU とディスクリート GPU の両方を搭載している場合、デバイス マネージャーで Intel HD 4000 GPU を無効にして、ディスクリート GPU を使用するようにします。
  • -gpu angle-gpu swiftshader、または -gpu guest モードを使用してエミュレータを実行してみてください。コマンドラインでのグラフィック アクセラレーション オプションの設定については、ハードウェア アクセラレーションの設定をご覧ください。
  • IPv6 接続がない場合は、ルーターが IPv6 アドレスを使用していないことを確認してください。

上記を試しても Android Emulator の動作に時間がかかる問題が継続する場合は、調査のため必要な Android Emulator の詳細を含めてバグを報告してください。

Windows: RAM の空き容量とコミット チャージ

エミュレータが起動したら、Android ゲスト オペレーティング システムの RAM を初期化する必要があります。Windows では、実際のオペレーション中にメモリがオンデマンドでページインされる場合でも、エミュレータは起動時にフルサイズのゲストメモリを準備するように Windows に要求します。Windows は潜在的なワーキング セット全体を保持するのに十分な物理 RAM とページファイルを保守的に確保しようとするため、エミュレータは起動時にゲストメモリ全量を要求します。これにより、メモリの破棄や解放を行わずに、すべてのゲストメモリにすばやくアクセスするという最悪のケースに備えられます。

場合によっては、エミュレータが Windows にこのフルサイズのゲストメモリを確保するように要求すると、要求は現在のコミット制限(使用可能な物理 RAM とページファイルの合計)を超えてしまいます。この場合、Windows はワーストケースのワーキング セットが物理 RAM またはページファイルのいずれかに収まることを保証できないため、エミュレータは起動しません。

通常、ページファイルと物理 RAM に割り当てられたハードドライブ領域は、エミュレータの大部分の使用例において十分です。ただし、コミット制限を超えたためにエミュレータの起動に失敗した場合は、Windows タスク マネージャーの [パフォーマンス] タブで現在のコミット チャージを確認することをおすすめします(タスク マネージャーを開くには、Ctrl+Shift+Esc を押します)。

コミット制限を超える可能性はさまざまな方法で減少させることができます。

  • エミュレータを起動する前に、未使用のアプリケーションとファイルを閉じて物理 RAM を解放します。
  • サードパーティのメモリ管理およびメモリ圧縮ユーティリティを無効にします。これらのユーティリティは、過剰なコミット チャージを非効率に発生させ、システムをコミット制限に近づけてしまうおそれがあります。
  • Windows ページファイルにはシステム管理サイズを使用します。これにより、エミュレータやその他のアプリケーションからの需要の増加に応じて、より柔軟かつ動的にページファイルのサイズ(結果的にコミット制限も)を増やすことができます。

    コミット チャージの詳細と、柔軟な設定が最適に機能する理由については、こちらの Microsoft の記事をご覧ください。