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で最新の安定版へ更新してください。
推奨する解決手順
- Android Studioで「Tools」→「SDK Manager」を開きます。
- 「SDK Tools」タブの「Android Emulator」を更新します。
- Android Studioと実行中のAVDをすべて終了し、再起動します。
- 「Tools」→「Device Manager」で対象AVDの編集画面を開きます。
- Graphicsを「Automatic」または現在のEmulatorで提供される「Software」に変更して起動を試します。
- 詳細ログを確認し、同じ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/ドライバー側の互換性を調査します。
確認方法
emulator -versionで34.2.14以降、できれば最新安定版であることを確認します。- 対象AVDを
-verbose付きで起動します。 - ログに
Failed to initialize GL emulationが再表示されないことを確認します。 - Androidのホーム画面まで到達し、対象アプリを起動します。
- ハードウェア描画へ戻す場合は再度起動テストを行い、ソフトウェア描画との差を確認します。
改善しない場合
エラー直前のログで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が一時的な代替になります。
