rive-app / rive-app/rive-android

App crash due to missing libraries for `x86`, `armeabi-v7a`, `armeabi`

Open
#341 23 comments 6 reactions 1 assignee View on GitHub

@ErikUggeldahl is already working on this.

Since Feb 11, 2026.

triage
Dominant language
Kotlin
Stars
538
Forks
66
PR merge metrics
No merged PRs in 30d

Description

Description

We are encountering a crash in our Android app for some phones when using the Rive Android library. The app crashes on startup with the following error:

androidx.startup.StartupException: com.getkeepsafe.relinker.MissingLibraryException: Could not find 'librive-android.so'. Looked for: [x86, armeabi-v7a, armeabi], but only found: [arm64-v8a].

This indicates that the librive-android.so native library is missing for certain architectures, specifically x86, armeabi-v7a, and armeabi. The app only includes the library for the arm64-v8a architecture.

Provide a Repro

The crash occurs when running the app on devices with architectures other than arm64-v8a, such as armeabi-v7a or x86.

Steps to reproduce the issue:

  1. Integrate the Rive Android library into your Android app.
  2. Build and run the app on device with an armeabi-v7a or x86 architecture.
  3. Observe that the app crashes on startup with the missing library error.
Source .riv/.rev file

N/A – The issue occurs during app initialization, before any .riv files are loaded.

Expected behavior

The app should start without crashing, and the librive-android.so library should be correctly loaded for all supported architectures (armeabi-v7a, arm64-v8a, x86, etc.).

Screenshots

N/A

Device & Versions (please complete the following information)
  • Device: Various devices with devices with no arm64-v8a architecture from manufactures like ZTE, Oppo, Older Samsung devices, etc.
  • SDK Level: Android SDK API Level 35
Additional context

Here are the full stack traces from Firebase Crashlytics:

Fatal Exception: java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: androidx.startup.StartupException: com.getkeepsafe.relinker.MissingLibraryException: Could not find 'librive-android.so'. Looked for: [x86, armeabi-v7a, armeabi], but only found: [arm64-v8a].
       at android.app.ActivityThread.installProvider(ActivityThread.java:5927)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:5516)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5455)
       at android.app.ActivityThread.-wrap2(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1550)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6190)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
Caused by androidx.startup.StartupException: com.getkeepsafe.relinker.MissingLibraryException: Could not find 'librive-android.so'. Looked for: [x86, armeabi-v7a, armeabi], but only found: [arm64-v8a].
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:187)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:238)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:206)
       at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:45)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:1751)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:1726)
       at android.app.ActivityThread.installProvider(ActivityThread.java:5924)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:5516)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5455)
       at android.app.ActivityThread.-wrap2(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1550)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6190)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
Caused by com.getkeepsafe.relinker.MissingLibraryException: Could not find 'librive-android.so'. Looked for: [x86, armeabi-v7a, armeabi], but only found: [arm64-v8a].
       at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:175)
       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:51)
       at app.rive.runtime.kotlin.core.Rive.init(Rive.kt:42)
       at app.rive.runtime.kotlin.core.Rive.init$default(Rive.kt:37)
       at app.rive.runtime.kotlin.RiveInitializer.create(RiveInitializer.kt:34)
       at app.rive.runtime.kotlin.RiveInitializer.create(RiveInitializer.kt:32)
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:180)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:238)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:206)
       at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:45)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:1751)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:1726)
       at android.app.ActivityThread.installProvider(ActivityThread.java:5924)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:5516)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5455)
       at android.app.ActivityThread.-wrap2(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1550)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6190)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.