PC パソコン

Android Studio Emulator「Failed to initialize GL emulation」の解決方法

Windows版Android StudioでAVDを起動すると、Android EmulatorがFailed to initialize GL emulationを出して終了することがあります。Googleは、ANGLEを使用する一部のGPUモードでエミュレーターを起動できない問題をAndroid Emulator 34.2.14で修正しました。ただし同版でも、コマンドラインから-gpu swangle_indirectを明示するとエラーが残る場合があり、Googleは-gpu swiftshader_indirectを案内しています。

代表的なエラー

Failed to initialize GL emulation

The emulator process for AVD <AVD_NAME> has terminated.

Android StudioにはAVDプロセス終了だけが表示され、Emulatorの詳細ログにFailed to initialize GL emulationが記録される場合もあります。

原因

Android Emulatorは、ホストPCのGPUやソフトウェアレンダラーを使用してAndroidのOpenGL ES描画をエミュレートします。Googleの公式リリースノートでは、Windows上でANGLEを使う一部のGPUモードにより起動できず、GLエミュレーションの初期化に失敗する不具合が修正されています。

このログはアプリのOpenGLコードを実行する前、AVD起動処理で出ることがあります。その場合はアプリのソースコードより、Android Emulatorのバージョン、AVDのGraphics設定、GPUドライバーを優先して確認します。

発生条件・対象バージョン

  • ホストOSがWindows
  • 修正前のAndroid Emulatorを使用
  • AVDのGraphics設定または起動オプションがANGLE系GPUモードを選択
  • 起動ログにFailed to initialize GL emulationがある
  • Android Emulator 34.2.14でも-gpu swangle_indirectを明示した場合は残る可能性がある

GoogleはAndroid Emulator 34.2.14(2024年5月20日)でWindows上の該当起動問題を修正しました。現在はさらに新しい安定版が提供されているため、原則としてSDK Managerで最新の安定版へ更新してください。

推奨する解決手順

  1. Android Studioで「Tools」→「SDK Manager」を開きます。
  2. 「SDK Tools」タブの「Android Emulator」を更新します。
  3. Android Studioと実行中のAVDをすべて終了し、再起動します。
  4. 「Tools」→「Device Manager」で対象AVDの編集画面を開きます。
  5. Graphicsを「Automatic」または現在のEmulatorで提供される「Software」に変更して起動を試します。
  6. 詳細ログを確認し、同じGL初期化エラーが消えたことを確認します。
# Emulatorバージョンの確認
emulator -version

# 詳細ログを表示して起動
emulator @AVD_NAME -verbose

34.2.14を使い続ける場合の公式回避策

Googleは、同版でWindowsのSoftware graphics renderingをコマンドラインから使用する場合、swangle_indirectではなくswiftshader_indirectを使うよう案内しています。

# 避ける設定
emulator @AVD_NAME -gpu swangle_indirect

# 34.2.14でGoogleが案内した代替
emulator @AVD_NAME -gpu swiftshader_indirect

swiftshader_indirectは旧版向けの回避策です。現在のAndroid Emulatorでは利用可能なGPUモードや推奨設定が変更されることがあるため、まず最新安定版へ更新し、Device Managerに表示される設定を優先してください。

その他の代替策

  • AVDをCold Bootし、古いQuick Boot状態を読み込まずに試します。
  • GPUメーカーまたはPCメーカーが提供する安定版グラフィックスドライバーへ更新します。
  • 新しい標準ハードウェアプロファイルでAVDを作成し、古いGPU設定の影響を切り分けます。
  • ソフトウェア描画で起動でき、ハードウェア描画だけ失敗する場合は、ホストGPU/ドライバー側の互換性を調査します。

確認方法

  1. emulator -versionで34.2.14以降、できれば最新安定版であることを確認します。
  2. 対象AVDを-verbose付きで起動します。
  3. ログにFailed to initialize GL emulationが再表示されないことを確認します。
  4. Androidのホーム画面まで到達し、対象アプリを起動します。
  5. ハードウェア描画へ戻す場合は再度起動テストを行い、ソフトウェア描画との差を確認します。

改善しない場合

エラー直前のログでVulkan、ANGLE、OpenGL、GPUドライバー名を確認してください。別の具体的なエラーがある場合は、そのログを根本原因として調査します。すべてのAVDが失敗する場合はEmulatorパッケージの再インストール、特定AVDだけならAVD再作成も検討します。

注意点

Android Studio本体とAndroid Emulatorは別コンポーネントです。IDE更新だけでは修正版Emulatorが導入されないことがあります。また、ソフトウェア描画は互換性の切り分けに有効ですが、描画性能が低下する可能性があります。

まとめ

Failed to initialize GL emulationは、Windows上でAndroid EmulatorのGL描画バックエンドを初期化できないときに発生します。ANGLE系GPUモードに関する既知問題は34.2.14で修正されました。最新安定版へ更新し、Graphics設定をAutomaticまたはSoftwareへ切り替えて確認してください。34.2.14を使う必要がある場合は、Googleが案内した-gpu swiftshader_indirectが一時的な代替になります。

公式情報