- Go to Realm Website
- Click in FAQ
- Search "Couldn’t load librealm-jni.so”
- You will see update information
TDLR;
In Realm documentation you can find the following:
Couldn’t load “librealm-jni.so”
If your app uses other native libraries that don’t ship with support for 64-bit architectures, Android will fail to load Realm’s librealm-jni.so file on ARM64 devices. This is because Android cannot load 32-bit and 64-bit native libraries concurrently. The best solution would be to have all libraries provide the same set of supported ABIs, but sometimes that may not be doable if you are using a 3rd-party library. See VLC and Realm Library conflicts.
The workaround to this issue is to exclude Realm’s ARM64 library from the APK file by adding the following code to the app’s build.gradle. You can refer to Mixing 32- and 64-bit Dependencies in Android for more information.
android {
//...
packagingOptions {
exclude "lib/arm64-v8a/librealm-jni.so"
}
//...
}
Also, there is a bug with Android Gradle Plugin 1.4.0 betas that leads it to improperly pack .so files included in jar files (see Realm Java issue 1421). To solve this problem, you can revert to Android Gradle Plugin 1.3.0 or use Android Gradle Plugin 1.5.0+.
We are aware of a number of 3rd party libraries, frameworks and management apps which do not have 64-bit support yet:
Parallel Space—but you can advice your users to install the 64 bit version instead.
RenderScript—NDK r14 will probably support 64 bit.
Unity3d.
Nota: Hello, this is appear again if i'm using proguard on my release buildTypes