I have this game that used to work fine on my Android 4.4.2 phone.
Since I updated my phone to Android 5, the game no longer works. It crashes on start.
What’s weird is that it generates no log at all on the Android Device Monitor, filtering by the tags UE4|Debug. Other (not related to UE4) are there.
The device is an Asus Zenfone 5 (ASUS_T00J); Android version is 5.0. Using UE 4.8.3.
I have also tried changing NDK API Level to android-21.
[Here’s a version of the game][1], with NDK API Level set to android-21.
And [here’s another version of the game][2], with NDK API Level set to whatever the default was. This is the version that used to work on Android 4.4.2, before I updated my device to Android 5.
I was able to install both of these files you provided onto the Nexus 9 Android version 5.0. If you could please provide the from the ‘monitor.bat’ file from , that will be much better for us to sort through and figure out why it’s crashing.
Basically, this is a GPU driver that’s crashing when your project is launching. Are you able to push this project to a different device? If not, are you able to see if regular blank, no starter content templates from UE4 are causing the same crash?
To help rule out Houdini as the cause, please try building an APK for x86 instead of ARMv7 and see if it behaves the same. The crash dump shows it happening in the GPU driver but I was wondering if Houdini was contributing to the problem.
Ok, this gives us a better stack. Looks like it is happening in InitDebugContext calling glIsEnabled(GL_DEBUG_OUTPUT_KHR) in AndroidES31OpenGL.h. This is an attempt to run ES31?
If so, try replacing the call with bDebugContext = false; and see if you get past this. The driver may not understand this property.
InitDebugContext() is empty for ES2. Try adding some logging messages in FPlatformOpenGLDevice::Init() in AndroidOpenGL.cpp:
FPlatformMisc::LowLevelOutputDebugString(TEXT("Before first InitDebugContext"));
InitDebugContext();
FPlatformMisc::LowLevelOutputDebugString(TEXT("After first InitDebugContext"));
08-20 16:38:05.339: D/UE4(1061): Before first InitDebugContext
08-20 16:38:05.339: E/IMGSRV(1061): debug.c:1336: Debug assertion failed!
[[Full log][1]][1]
I’ll try to run the game with VS debugger attached on the weekend (never done that before, don’t even know if it’s possible), to see if I can figure out where and why it’s crashing in InitDebugContext.
InitDebugContext should be empty for ES2 (comes from FOpenGLBase in OpenGL.h). For sanity sake, throw some logging into this empty function and into AndroidES31OpenGL.h with a different message just to see if it somehow got there instead.
Ok, then try just returning at the beginning of InitDebugContext in OpenGLDevice.cpp… one of these calls likely doesn’t work on this driver. Possibly the GL_KHR_debug.
We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.
Sorry for the delay. Returning at the beginning of InitDebugContext OpenGLDevice.cpp solved the problem. The game ran fine on the same Android 5.0 phone. Thanks!
Now the question is, what’s wrong with it, and what to do to ensure it works without having to ignore that function call?