SKMaps eglChooseConfig IllegalArgumentException - android

I have searched and searched this one and cannot seem to solve. Im running OSX 10.9 on an iMac with a ATI RADEON 4670 and and trying to get Skobbler Scouts maps to run on an Android emulator. All I keep getting is the dreaded eglChooseConfig() returning false using the inbuilt Android Emulator with all the prescribed settings set by Skobbler (gpu on API level etc etc). Is this a hardware incompatibility issue or is the Emulator just not implemented with the attribute settings set by Skobbler? Alternatively does anyone know of a working emulator for this SDK?
Any help is much appreciated. Thanks
Andy

You can find a working configuration at http://developer.skobbler.com/getting-started/android#sec031 (I've tested with device = Nexus 5 and API level 20).
Unfortunately, due to the fact that the SDK relies heavily on OpenGL most emulators will exhibit weird behaviours - leaving only real devices as good testing options (the emulator's documentation also states that OpenGL support is "tricky": "OpenGLĀ® Graphics - Emulation of OpenGL ES graphics may not perform at the same level as an actual device")

Related

Android emulator does not match hardware?

Obviously, there will be minor differences between the emulator and hardware, but I'm running across major issues and wondering if others have found any solutions.
I have an .apk of my application, which loads and starts fine on the 2 pieces of hardware I have on hand (both OS 4.1.2). It then freezes up on a screen switch inside the application. This has happened before and it was due to that exact version of the OS having a particular bug (which should be worked around). Anyways, those details are not terribly important, that's simply how I got to thinking I'd test other versions via the emulator. However, here's what I hit:
Newer versions (5+) of the OS have an "Intel" option and my .apk crashes immediately on start on those versions.
Newer versions (5+) the Google version and 4.x generic (including the very same 4.1.2 I have on 2 hardware devices) starts my .apk fine, except that all the graphics are missing!
No difference between architectures on any given OS/class (32/64 bit, mips, arm)
What's the difference between Intel and Google versions of Android that would cause such a huge difference? Also, why does my app have graphics on hardware, but graphics vanish on the very same OS on the emulator? Are there options I need to change somewhere?
First update your SDK.
Then install emulator system image you need.
In SDK Manager you can find that Intel/ARM Android images start from 4.0.3 . Google Intel/ARM start from 4.4.2 instead .
Make sure you have hardware virtualization enabled in PC BIOS because Intel images need that and they are much faster for that.
Try to reinstall Intel HAXM . You can find setup in <Android SDK Path>/extras/intel\Hardware_Accelerated_Execution_Manager
Intel/ARM images use different CPU architecture. Instead Google/Android images have only a different software configuration. Google images include Google services like Play,Maps,ecc. Android images haven't them
It appears to be due to timeouts. Differing versions and "equipment levels" of Android devices take varying times to respond. The difference is especially large in the emulator. By bumping up all the system timeouts in the code I'm able to avoid all of the avoid weird issues.

How to enable software rendering in lollipop?

I am working on an Android project where my device need to run by using software rendering.
My device architecture is ARM and I want to run lollipop using software rendering as my device dont have compatible hardware library file.
I came across that we need to set the flag USE_OPENGL_RENDERER to flase.
After setting also i am not getting the display ie getting android logo but not booting further.
What are the exact changes that i need to do in the source code to make it work with software rendering
I don't think Android supports devices without OpenGL for a while.
Android Compatibility Definition Document (CDD)
7.1.4. 2D and 3D Graphics Acceleration
Device implementations MUST support both OpenGL ES 1.0 and 2.0, as embodied and detailed in the Android SDK
documentations.

Where is the hardware acceleration in the ICS Emulator?

I thought this was on the way, anybody know how to enable it?
Seems that I can't get a GLES2.0 context inside the emulator either, but maybe that's just me. IllegalArgumentException: No configs match from the egl.
However, the GLES20 API Demo included seems to run.
Anyways, even so, none of it seems accelerated or fast then old emulators. Nice update though.
In Android SDK Tools R15 you can enable GPU emulation in 4.0.3 Image.
You need to create a new emulator virtual device and set GPU emulation to true in Hardware properties.
The emulator in ICS doesn't include hardware acceleration.
(The bug to provide that is still open: http://code.google.com/p/android/issues/detail?id=6816)
That said, it does allow hardware acceleration for apps when they're running on a phone. (This feature was actually introduced in Honeycomb for tablets.)
The Android SDK Add hw.gpu.enabled hardware property on August 26, 2011's commit.
"the emulator can (sort of) do emulation but you need a system image
that supports it. We haven't released any yet. If it was ready we would have announced it." said with Xavier Ducrohet On Oct 20, 2011.
Ice cream sandwich gpu emulation issue.
As of now, I can't find a system image supports it.

Which device are supported for unity?

I am very new with unity. When I'm trying o run the project after the following the document, it does not run force close with hardware is not supported.
Simple blue screen with camera focus show at run in unity but in
device it can't.
In emulator it shows error like:
08-02 12:29:47.672: ERROR/libEGL(305): called unimplemented OpenGL ES API
In device it shows:
Insatisfylinked
What should I do? Is there some device compatibility?
Check this link for a list of devices that have been tested with Unity.
According to this post (in which the author had the same problem as you) it is possible to get Unity running on the Android emulator, but performance is very poor.
Unity CAN run on an emulator (use emulator mode when compiling) it just runs slow. On my phone (HTC legend, which is listed as incompatible), it runs slow and there's no sound, but it does work.
I think it's because for some odd reason or another, certain manufacturers didn't choose to support OpenGL on certain models.
WIndows 8 and WIndows 8 phone will be supported when released as well!

Missing OpenGL drivers on Android emulator

I am trying to set up an Android emulator to do some playing around with OpenGL ES on it, but I am stymied by the fact that, every time I run my program on it, it unceremoniously grenades itself. The problem (at least the first nasty red error line in the log) is a missing package called libhgl.so. This is the OpenGL driver file required for running OpenGL ES on Android devices, but for some reason, my emulator doesn't have it. Does anyone know where I can get drivers for the emulator, or how to get an emulator that already has them?
In this link:
http://osdir.com/ml/android-porting/2009-06/msg00282.html
it says:
libEGL.so and libGLESv2.so implements EGL and OpenGL ES through
libhgl.so and libagl.so. That is, libhgl.so and libagl.so are
dlopen()ed by libEGL.so. All EGL and OpenGL ES calls will finally call
into libhgl.so and/or libagl.so.
and here:
http://osdir.com/ml/android-porting/2009-06/msg00288.html
libagl.so is an pure software impl. For your accelerated impl., you
need to provide libhgl.so so that libEGL.so will be able to use it. It
is expected that libhgl.so implements and exports both eglXXX and glXXX
symbols.
I guess that indicates that the missing file will only exist on the device itself, but that the app should run with the software driver on the emulator. The numerous screenshots on the web of OpenGL apps on the Android emulator also indicates that OpenGL should work fine on the emulator. Any other possible reasons why you are not able to get OpenGL going?
The logic of loading EGL user space driver is at frameworks/native/opengl/libs/EGL/Loader.cpp. Basically there are three cases:
Running with emulator in software rendering mode
Running with emulator in OpenGL mode. This is where libhgl.so is loaded for earlier version of Android.
Running with actual device.
The emulator coming with ADT does not work well for case 2. But emulators are improved over recent years. You can use latest Android Studio which has a better emulator or leapdroid at http://www.leapdroid.com/

Categories

Resources