Why does this error happen? I tried to run on devices with Android 7 and Android 13. The device with Android 7 shows the message below but the device with Android 13 shows nothing. I see the Godot Engine logo before the application stops.
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mygame/com.godot.game.GodotApp}: java.lang.IllegalStateException: Unable to initialize engine native layer
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2723)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2784)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6238)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Caused by: java.lang.IllegalStateException: Unable to initialize engine native layer
at org.godotengine.godot.GodotFragment.performEngineInitialization(GodotFragment.java:191)
at org.godotengine.godot.GodotFragment.onCreate(GodotFragment.java:182)
at androidx.fragment.app.Fragment.performCreate(Fragment.java:2949)
at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:278)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:1971)
at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:311)
at org.godotengine.godot.GodotActivity.onCreate(GodotActivity.kt:84)
at com.godot.game.GodotApp.onCreate(GodotApp.java:45)
at android.app.Activity.performCreate(Activity.java:6857)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2676)
... 9 more
I tried to run the app with Godot 4 on Infinix Hot 30 in “Compatibility” mode but it stops without messages. I think the solution will be to use Godot 3 for phones that don’t support Vulkan.
Developers of Godot decided to focus on powerful devices that has Vulkan. It’s impossible now to build apps for Android with OpenGL ES 2.0. I cannot develop for Redmi 4x anymore. I want to develop for budget devices. I didn’t tried Godot 3 because I think it will be deprecated soon. I tried libGDX yesterday but Android Studio is too heavy for my laptop ASUS K53SV. Qt Creator is lightweight and it’s easy to build for Android. It has built-in modules for WebSockets, SQLite, JSON, XML and so on. I wrote simples examples with OpenAL, Box2D and Bullet Physics that I has run on physical Android devices.
I extracted some models, textures and animations from the original Resident Evil game. I want to make mini games with multiplayer to study Bullet Physics. I want to make it for education as hobby. This is my WebGL examples: https://8observer8.github.io/ I imported models to pure WebGL. Now I want to import them to Qt OpenGL for Android:
I wrote an example on Qt6 and OpenGL that shows a version of OpenGL ES. It is ES 3.2 on my Redmi 4X. I run it on the physical device. I use scrcpy to show the physical Android screen to computer:
It works on Windows too (must work on Linux, macOS, iOS and even web with QtWebAssembly module) on one code base in C++. Qt has the same signal/slot mechanism like Godot
I will use libGDX/Java, Qt/OpenGL/C++ and WebGL/JS. Maybe later the problem was solved in Godot 4.
Now I know how to work with libGDX from the command line to build apps for Android and Desktop (I didn’t try to build for HTML5). I use Sublime Text 4 with libGDX. Android Studio is too slow for my laptop and makes it noisy. Sublime Text 4 works like Notepad++ - very fast.
It is simple to run libGDX build from command line:
Can I sincerely ask you to open a new Godot 4.2.1 bug issue on GitHub, attaching all the docs and photo of this thread, explaining that the Godot 4 Compatibility GLES3 Rendering issues AREN’T related to any old Android Devices GLES drivers bug, but ONLY to Godot GLES3 misconfigurations/bugs?
We definitively need the Godot Devs start to work and fixes all this issues to can work on Android because it’s really impossible that a device with 3.2 GLES support works fine with other engines and crash on Godot 4.
I want buy an used Redmi 4x to can further test and fix this bug, can you tell me the exact device code so that I can buy the correct Redmi 4x version, please?