realm-java: MissingLibraryException: librealm-jni.so

Goal

Since switching to a Bundle, a lot of users have been crashing when opening the app. We do not have enough information to directly diagnose the cause, and other issues opened on github are old and do not relate to Bundle.

Actual Results

Device Information:
Model: LG-VS985
Android Version: Android 9.0 (December patch)
CPU Architecture: ARMv7 (32-bit)

Logcat:
FATAL EXCEPTION: main
Process: io.fusetech.stackademia, PID: 22454
java.lang.RuntimeException: Unable to create application io.fusetech.stackademia.Stackademia: com.getkeepsafe.relinker.MissingLibraryException: librealm-jni.so
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5925)
at android.app.ActivityThread.access$1100(ActivityThread.java:200)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: com.getkeepsafe.relinker.MissingLibraryException: librealm-jni.so
at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:123)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:180)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:57)
at io.realm.internal.RealmCore.loadLibrary(RealmCore.java:60)
at io.realm.Realm.initializeRealm(Realm.java:322)
at io.realm.Realm.init(Realm.java:265)
at io.fusetech.stackademia.Stackademia.onCreate(Stackademia.java:71)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5920)
... 8 more

Steps & Code to Reproduce

  • Install the app
  • Or update the app

Version of Realm and tooling

Realm version(s): 5.8.0

Realm Sync feature enabled: Yes

Android Studio version: 3.3

Android Build Tools version: 28.0.3

Gradle version: 4.10.1

Which Android version and device(s): Varies

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 7
  • Comments: 56 (10 by maintainers)

Most upvoted comments

Anything? This problem has more than a year!

I received this error on crashlytics by an unknown device, so I assumed this error only happens to people who are trying to install from outside the playstore. However after upgrading io.realm:realm-gradle-plugin:5.15.0 → 5.15.1 I’m receiving this error every time on my emulator, in debug builds even, so I reverted back to 5.15.0

https://github.com/realm/realm-java/issues/6418#issuecomment-473508129 May be it is make sence if realm guys ask for solution fresco team (if they completely fixed it)

Have the same Android 4, 5, 7

Have similar issue.

We use Android App Bundle Realm version - 5.9.1 ` Samsung Galaxy J2 Core (j2corelte), Android 8.1 Report 1 of 1

java.lang.RuntimeException: at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5773) at android.app.ActivityThread.-wrap1 (Unknown Source) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1662) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:164) at android.app.ActivityThread.main (ActivityThread.java:6543) at java.lang.reflect.Method.invoke (Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:440) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:810)

Caused by: com.getkeepsafe.relinker.MissingLibraryException: at com.getkeepsafe.relinker.ApkLibraryInstaller.a (ApkLibraryInstaller.java:155) at com.getkeepsafe.relinker.ReLinkerInstance.c (ReLinkerInstance.java:121) at com.getkeepsafe.relinker.ReLinkerInstance.a (ReLinkerInstance.java:21) at com.getkeepsafe.relinker.ReLinker.a (ReLinker.java:5) at com.getkeepsafe.relinker.ReLinker.a (ReLinker.java:1) at io.realm.internal.RealmCore.loadLibrary (RealmCore.java:13) at io.realm.Realm.initializeRealm (Realm.java:9) at io.realm.Realm.init (Realm.java:5) at fitness.online.app.App.onCreate (App.java:69) at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1119) at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5770) at android.app.ActivityThread.-wrap1 (Unknown Source) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1662) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:164) at android.app.ActivityThread.main (ActivityThread.java:6543) at java.lang.reflect.Method.invoke (Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:440) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:810) `

The project also includes fresco (https://frescolib.org). They also had the same bug in previous version, but fixed it completely.

Is there any information about, when the issue will be fixed by realm?

Summer went away, still see, how we loose 2-3 people a week in production… Realm version - 5.11.0

Example: Devices: Batmobile Operating Systems: 5

Fatal Exception: java.lang.RuntimeException: Unable to create application fitness.online.app.App: com.getkeepsafe.relinker.MissingLibraryException: librealm-jni.so at android.app.ActivityThread.handleBindApplication + 4521(ActivityThread.java:4521) at android.app.ActivityThread.access$1500 + 144(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage + 1339(ActivityThread.java:1339) at android.os.Handler.dispatchMessage + 102(Handler.java:102) at android.os.Looper.loop + 135(Looper.java:135) at android.app.ActivityThread.main + 5221(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke + 372(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 899(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main + 694(ZygoteInit.java:694)

Caused by com.getkeepsafe.relinker.MissingLibraryException: librealm-jni.so at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary + 123(ApkLibraryInstaller.java:123) at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal + 180(ReLinkerInstance.java:180) at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary + 136(ReLinkerInstance.java:136) at com.getkeepsafe.relinker.ReLinker.loadLibrary + 70(ReLinker.java:70) at com.getkeepsafe.relinker.ReLinker.loadLibrary + 57(ReLinker.java:57) at io.realm.internal.RealmCore.loadLibrary + 60(RealmCore.java:60) at io.realm.Realm.initializeRealm + 322(Realm.java:322) at io.realm.Realm.init + 265(Realm.java:265) at fitness.online.app.App.onCreate + 115(App.java:115) at android.app.Instrumentation.callApplicationOnCreate + 1011(Instrumentation.java:1011) at android.app.ActivityThread.handleBindApplication + 4518(ActivityThread.java:4518) at android.app.ActivityThread.access$1500 + 144(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage + 1339(ActivityThread.java:1339) at android.os.Handler.dispatchMessage + 102(Handler.java:102) at android.os.Looper.loop + 135(Looper.java:135) at android.app.ActivityThread.main + 5221(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke + 372(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 899(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main + 694(ZygoteInit.java:694)

I have same issue too. The crash reported from firebase and google play console. My application has release by app bundle. I did upgrade to latest version: realm 6.1.0

Hi @cmelchior , we are having the same error in our app with Realm version 6.1.0 when generating App bundle. Here is the error:

Fatal Exception: java.lang.RuntimeException Unable to create application com.xxx.xxx: Could not find ‘librealm-jni.so’. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].

Some devices we are having the issue, in case it might help: Galaxy A5 (2017) - android 8 Galaxy S9+ - android 8 Galaxy note 9 - android 9 Mi Note 2 - android 8 Lg G2 - android 7.1.1

@cmelchior @RealmBot

debug apk with realm 6.0.2 android studio 3.5.3 build tools 3.5.3 , device nexus 6 android 6.0.1 alt text

debug apk with realm 6.1.0 android studio 3.5.3 build tools 3.5.3 , device nexus 6 android 6.0.1 alt text

Hi, I think I have the same issue for one of my clients, and I report it here

I have the same issue.

  • realm 5.14.0
  • 100% rooted phones
  • Android versions 5 and 6

I was facing the same issue while I try to first run this morning. then I search on the google and reach here. but could not find a solution. But when I clean the project and rebuild it starts working again.

Here is my crash log.

2019-09-07 10:41:02.865 27797-27797/? I/h.diamond_diar: Not late-enabling -Xcheck:jni (already on)
2019-09-07 10:41:02.881 27797-27797/? E/h.diamond_diar: Unknown bits set in runtime_flags: 0x8000
2019-09-07 10:41:02.882 27797-27797/? W/h.diamond_diar: Unexpected CPU variant for X86 using defaults: x86
2019-09-07 10:41:03.736 27797-27797/com.logwintech.diamond_diary D/AndroidRuntime: Shutting down VM
2019-09-07 10:41:03.737 27797-27797/com.logwintech.diamond_diary E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.logwintech.diamond_diary, PID: 27797
    java.lang.RuntimeException: Unable to create application com.logwintech.diamond_diary.MyApplication: com.getkeepsafe.relinker.MissingLibraryException: librealm-jni.so
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6465)
        at android.app.ActivityThread.access$1300(ActivityThread.java:219)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: com.getkeepsafe.relinker.MissingLibraryException: librealm-jni.so
        at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:123)
        at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:180)
        at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136)
        at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70)
        at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:57)
        at io.realm.internal.RealmCore.loadLibrary(RealmCore.java:60)
        at io.realm.Realm.initializeRealm(Realm.java:322)
        at io.realm.Realm.init(Realm.java:265)
        at com.logwintech.diamond_diary.MyApplication.onCreate(MyApplication.java:28)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1182)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6460)
        at android.app.ActivityThread.access$1300(ActivityThread.java:219) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859) 
        at android.os.Handler.dispatchMessage(Handler.java:107) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.app.ActivityThread.main(ActivityThread.java:7356) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
2019-09-07 10:41:03.826 27797-27828/com.logwintech.diamond_diary D/NetworkSecurityConfig: No Network Security Config specified, using platform default
2019-09-07 10:41:04.067 27797-27824/com.logwintech.diamond_diary W/h.diamond_diar: Unsupported class loader
2019-09-07 10:41:04.071 27797-27824/com.logwintech.diamond_diary I/DynamiteModule: Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:20461
2019-09-07 10:41:04.071 27797-27824/com.logwintech.diamond_diary I/DynamiteModule: Selected remote version of com.google.android.gms.ads.dynamite, version >= 20461
2019-09-07 10:41:04.072 27797-27824/com.logwintech.diamond_diary V/DynamiteModule: Dynamite loader version >= 2, using loadModule2NoCrashUtils
2019-09-07 10:41:04.078 27797-27857/com.logwintech.diamond_diary I/DynamiteModule: Considering local module com.google.android.gms.measurement.dynamite:7 and remote module com.google.android.gms.measurement.dynamite:10
2019-09-07 10:41:04.078 27797-27857/com.logwintech.diamond_diary I/DynamiteModule: Selected remote version of com.google.android.gms.measurement.dynamite, version >= 10
2019-09-07 10:41:04.078 27797-27857/com.logwintech.diamond_diary V/DynamiteModule: Dynamite loader version >= 2, using loadModule2NoCrashUtils
2019-09-07 10:41:04.815 27797-27861/com.logwintech.diamond_diary I/FA-Ads: App measurement is starting up, version: 18101
2019-09-07 10:41:04.815 27797-27861/com.logwintech.diamond_diary I/FA-Ads: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
2019-09-07 10:41:04.902 27797-27810/com.logwintech.diamond_diary W/System: A resource failed to call close. 

The user responded with a copy of his APK, which he got from /data/app.

Analysing the APK, I can see that there is no /lib/ folder inside. alt text

Whereas the APK produced by Android studio looks like this: alt text

Do you have any insight into what is happening here?