eglMakeCurrent faileエラーの対処法

ゲームなどの描画処理が中心のアプリではAndroidエミュレーターのオプションでホストGPUの機能を使用すると高速にエミュレーターを動作させることができて便利です。

高速に動作するのはありがたいですが、時々次のようなエラーメッセージを出して画面の描画が更新されないことがあります。

[2015-02-05 12:05:03 - Emulator] FrameBuffer::post eglMakeCurrent failed
[2015-02-05 12:05:05 - Emulator] eglMakeCurrent failed

こういうエラーが出る場合はまず起動しているAVDのemulator-user.iniを削除してみましょう。

emulator-user.iniはWindows環境なら、C:\Users\[ユーザー]\.android\avd\[エミュレーター名]に作成されています。

次にエミュレーターのRAMとヒープ領域の大きさを変えます。

デフォルトではRAMの大きさは512MB、ヒープ領域は16MBに設定されています。

もしこの設定のままになっているなら下の画像のようにRAMとヒープ領域の大きさを増やしましょう。

RAMを768MB、ヒープ領域を48MBにしたエミュレーター

上の画像ではRAMは768MB、ヒープ領域は48MBに設定しなおしています。この設定はそれぞれの環境に合わせてください。

この設定を適用したらエミュレーターを再起動してください。

エラーが直らないこともあるかもしれませんが、これで大抵の場合はGPU機能が正常に動くようになるはずです。

では、また!

関連項目
プライバシーポリシー