-
Notifications
You must be signed in to change notification settings - Fork 87
Description
Because of how all MCJE on Android launchers work, we have to use -Dos.name=Linux to properly run most things. This means SDL2 thinks we are on a traditional glibc-based distro and loads the natives for that, the problem is, Android doesn't have glibc.
We currently have to race the mod to delete the extracted native before the mod dlopen's the extracted invalid native library so it properly falls back to java.library.path else it UnsatisfiedLinkError's due to loading the invalid native library in a invalid location (we can't dlopen things outside jars, even if we could, this one would fail). Racing the mod..isn't very reliable.
This could be fixed by having an additional if in SdlNativeLibraryLoader.loadSDL2NativeFromEmbeddedResources(), checking if /vendor/lib/libandroid.so exists, then just not adding the libraryPath to the search path if it does.
Providing the native for android is sadly out of the question due to how android works.
However I did see a mention of PojavLauncher not being supported, this applies to pretty much all of MCJE on Android launchers and not just PojavLauncher but it is understandable if it's not supported. Thanks!