HAXM 1.0.4をインストールしましたが、「use host gpu」オプションをオンにしてAndroidエミュレーターを実行できません。周期的なGL_ *エラーが表示されます。Mac OS X(NVIDIA GeForce 320Mのmbp)を使用しています。gpuエミュレーションがなければ、すべてが正常に動作します(「fine」という言葉でその遅いソフトウェアを説明できる場合)。
私は8 GBのRAMを持っていますが、1024 MBを使用するようにHAXMを設定しています。私の仮想デバイスは512 MBを使用するように設定されています(HAXMドキュメントによると、さまざまな値を試しましたが、1024Mb未満です)。
定期的に出力されるエラーメッセージを次に示します(エミュレーターが黒い画面を表示します)(完全なログ)
MediaProfiles(1113): could not find media config xml file
Zygote(1113): Class not found for preloading: android.widget.TextView$SelectionModifierCursorController$1
Zygote(1132): setreuid() failed. errno: 30
Zygote(1132): setreuid() failed. errno: 30
BatteryService(1139): usbOnlinePath not found
BatteryService(1139): batteryVoltagePath not found
BatteryService(1139): batteryTemperaturePath not found
I/sysproc(923): Entered system_init()
I/sysproc(923): ServiceManager: 0x8c01b18
I/SurfaceFlinger(923): SurfaceFlinger is starting
I/SurfaceFlinger(923): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
EGL_emulation(1139): rcMakeCurrent returned EGL_FALSE
EGL_emulation(1139): tid 1148: eglMakeCurrent(984): error 0x3006 (EGL_BAD_CONTEXT)
libEGL(1139): call to OpenGL ES API with no current context (logged once per thread)
libEGL(1139): call to OpenGL ES API with no current context (logged once per thread)
libEGL(1139): call to OpenGL ES API with no current context (logged once per thread)
libEGL(1139): call to OpenGL ES API with no current context (logged once per thread)
Zygote(1152): setreuid() failed. errno: 30
また、LD_LIBRARY_PATHをに設定しようとしましたが<sdk install location>/tools/lib
、それも役に立ちません。
彼らは「GLライブラリーの環境変数が正しく設定されていることを確認してください」と言います。これを確認するにはどうすればよいですか?他のプログラムはうまく機能しています。HAXMがなければ、GPUアクセラレーションはうまく機能しています。
エミュレータからのスクリーンショット:
また、エラーはIntel 2.3 x86システムイメージでのみ発生することも付け加えておきます。最新の4.1では、すべてが正常に動作します。
sudo ./emulator -avd Nexus_Intel_23
)-エミュレータが画面に意味不明なメッセージを表示します(質問の本文に写真を挿入)