Why is there the OpenGL ES 2.0 issue of JME3 not running on an android emulator?

Recently I have started experiments with android and quickly found that JME3 is not able to run on the standard android sdk emulator because of the absense of OpenGL ES 2.0 support. Why is this issue there if Unity3D runs on these emulators perfectly, and afaik it uses OpenGL ES 2.0 too… what is wrong with my assumptions?

Did you try?
Because the reason might be this http://android-developers.blogspot.fr/2012/04/faster-emulator-with-better-hardware.html

The thing is, it didn’t work before…and we never bothered to try again…maybe it’s time to give it another go.

You need to enable GPU acceleration in the emulator for OpenGL ES 2.0 support, see this tutorial:
https://developer.android.com/tools/devices/emulator.html#acceleration

Thanks for the hints, but yes, I have enabled the “Use Host GPU” option. On my dayjob I program in Unity3D and can confirm that this option in the SDK AVD is crucial for OpenGL things to work. However, when it gets to JMonkeyEngine3, it still fails to use OpenGL ES 2.0. Here is the log taken from the android monitor:

11-12 07:49:34.357: I/ActivityManager(79): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.noncom.man/.MainActivity bnds=[160,408][240,508]} from pid 176
11-12 07:49:34.387: D/PermissionCache(36): checking android.permission.READ_FRAME_BUFFER for uid=1000 => granted (873 us)
11-12 07:49:34.587: I/ActivityManager(79): Start proc com.noncom.man for activity com.noncom.man/.MainActivity: pid=465 uid=10040 gids={}
11-12 07:49:34.638: D/(79): HostConnection::get() New Host Connection established 0x2e55b0, tid 109
11-12 07:49:34.837: I/dalvikvm(465): Turning on JNI app bug workarounds for target SDK version 8...
11-12 07:49:34.897: W/NetworkManagementSocketTagger(79): setKernelCountSet(10040, 1) failed with errno -2
11-12 07:49:34.916: D/OpenGLRenderer(176): Flushing caches (mode 1)
11-12 07:49:35.477: I/Process(79): Sending signal. PID: 465 SIG: 3
11-12 07:49:35.477: I/dalvikvm(465): threadid=3: reacting to signal 3
11-12 07:49:35.577: I/dalvikvm(465): Wrote stack traces to '/data/anr/traces.txt'
11-12 07:49:35.767: D/dalvikvm(465): Trying to load lib /data/data/com.noncom.man/lib/libbulletjme.so 0x41022328
11-12 07:49:35.777: D/dalvikvm(465): Added shared lib /data/data/com.noncom.man/lib/libbulletjme.so 0x41022328
11-12 07:49:35.777: D/dalvikvm(465): No JNI_OnLoad found in /data/data/com.noncom.man/lib/libbulletjme.so 0x41022328, skipping init
11-12 07:49:35.796: I/InputReader(79): Reconfiguring input devices.  changes=0x00000004
11-12 07:49:35.810: I/InputReader(79): Device reconfigured: id=0, name='qwerty2', surface size is now 480x800, mode is 1
11-12 07:49:35.817: I/ActivityManager(79): Config changed: {1.0 310mcc260mnc en_US layoutdir=0 sw480dp w800dp h455dp lrg long land finger qwerty/v/v -nav/h s.5}
11-12 07:49:36.017: I/Process(79): Sending signal. PID: 465 SIG: 3
11-12 07:49:36.017: I/dalvikvm(465): threadid=3: reacting to signal 3
11-12 07:49:36.107: D/AndroidHarness(465): Resolution from Window, width:800, height: 480
11-12 07:49:36.117: I/dalvikvm(465): Wrote stack traces to '/data/anr/traces.txt'
11-12 07:49:36.457: I/com.jme3.system.JmeSystem(465): INFO Running on jMonkeyEngine 3.0.10
11-12 07:49:36.558: I/Process(79): Sending signal. PID: 465 SIG: 3
11-12 07:49:36.558: I/dalvikvm(465): threadid=3: reacting to signal 3
11-12 07:49:36.597: I/dalvikvm(465): Wrote stack traces to '/data/anr/traces.txt'
11-12 07:49:36.637: D/AndroidRuntime(465): Shutting down VM
11-12 07:49:36.637: W/dalvikvm(465): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
11-12 07:49:36.657: E/AndroidRuntime(465): FATAL EXCEPTION: main
11-12 07:49:36.657: E/AndroidRuntime(465): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.noncom.man/com.noncom.man.MainActivity}: java.lang.UnsupportedOperationException: OpenGL ES 2.0 is not supported on this device
11-12 07:49:36.657: E/AndroidRuntime(465): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at android.app.ActivityThread.access$600(ActivityThread.java:123)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at android.os.Handler.dispatchMessage(Handler.java:99)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at android.os.Looper.loop(Looper.java:137)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at android.app.ActivityThread.main(ActivityThread.java:4424)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at java.lang.reflect.Method.invokeNative(Native Method)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at java.lang.reflect.Method.invoke(Method.java:511)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at dalvik.system.NativeStart.main(Native Method)
11-12 07:49:36.657: E/AndroidRuntime(465): Caused by: java.lang.UnsupportedOperationException: OpenGL ES 2.0 is not supported on this device
11-12 07:49:36.657: E/AndroidRuntime(465): 	at com.jme3.system.android.OGLESContext.createView(OGLESContext.java:146)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at com.jme3.app.AndroidHarness.onCreate(AndroidHarness.java:236)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at android.app.Activity.performCreate(Activity.java:4465)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
11-12 07:49:36.657: E/AndroidRuntime(465): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
11-12 07:49:36.657: E/AndroidRuntime(465): 	... 11 more
11-12 07:49:36.667: W/ActivityManager(79):   Force finishing activity com.noncom.man/.MainActivity
11-12 07:49:36.937: D/dalvikvm(79): GC_FOR_ALLOC freed 178K, 7% free 9070K/9671K, paused 151ms

I have tried various “devices” in the emulator options, but that did not make any change.

Looks like a check that we do…But that would mean that the emulator supports openglES2 but reports it doesn’t…
Thanks for the updates, gonna look into it