Question Describe
I have built an Android package for my project. It works properly on new mobile phones, but I encountered the issue mentioned in the title on an old mobile phone. How should I resolve this?
Crash Report
10-15 14:28:06.993 22262 22299 E AndroidRuntime: FATAL EXCEPTION: LoadLibraries
10-15 14:28:06.993 22262 22299 E AndroidRuntime: Process: <MyPackageName>, PID: 22262
10-15 14:28:06.993 22262 22299 E AndroidRuntime: java.lang.UnsatisfiedLinkError: Shared library "/system/lib64/libandroid.so" already opened by ClassLoader 0x0; can't open in ClassLoader 0x7ba4cbd96c
10-15 14:28:06.993 22262 22299 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
10-15 14:28:06.993 22262 22299 E AndroidRuntime: at java.lang.System.loadLibrary(System.java:1657)
10-15 14:28:06.993 22262 22299 E AndroidRuntime: at com.epicgames.unreal.GameApplication.LoadLibraries(GameApplication.java:139)
10-15 14:28:06.993 22262 22299 E AndroidRuntime: at com.epicgames.unreal.GameApplication$1.run(GameApplication.java:182)
10-15 14:28:06.993 22262 22299 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
Software & Hardware Info
| Unreal Version | 5.6 |
| Android Version | 8.1.0 sdk:27 |
| SOC | Qualcomm SDM660 SoC |
| OpenGL Version | ES 3.2 |
| cell phone | vivo X20A |
I noticed that there is a “System.loadLibrary(“android”);” in GameApplication.java. Maybe that’s the reason why it crashed. But I have no clue why it works fine in other phones and how can i fix it.
protected static void LoadLibraries(String CommandLine)
{
// We need to decide on enabling memory tracing before loading native code.
// ignore for now
try
{
System.loadLibrary("android");
...
}
catch (Exception e)
{
Log.debug(e.toString());
}
}
Appreciate any help!