rive-app / rive-android

A runtime for interactive animations on Android
https://rive.app
MIT License
332 stars 30 forks source link

libjnirivebridge.so not found in android 8 os(Riv V-4.2.1) #284

Closed keyurterran closed 11 months ago

keyurterran commented 1 year ago

We found below issues while using riv sdk version 4.2.1

Caused by androidx.startup.StartupException: com.getkeepsafe.relinker.MissingLibraryException: Could not find 'libjnirivebridge.so'. Looked for: [x86], but only found: []. at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:187) at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:138) at androidx.startup.AppInitializer.initializeComponent(AppInitializer.java:117) at com.acecredit.android.ui.SignupActivity.onCreate(SignupActivity.kt:35) at android.app.Activity.performCreate(Activity.java:7009) at android.app.Activity.performCreate(Activity.java:7000) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Device details Brand:LGE Model:Nexus 5X Orientation: Portrait RAM free: 1.36 GB Disk free: 413.6 MB Operating system Version:Android 8.1.0 Orientation: Portrait Rooted:No

umberto-sonnino commented 1 year ago

Hi @keyurterran, could you provide a few more details about the setup and a repro for this issue? More specifically, what's the setup for adding the library? Are you seeing this locally on your own device?

ryan-cha commented 1 year ago

Having the same issue, too.

Error Log

10:50:16.385 AndroidRuntime  E  FATAL EXCEPTION: main
            Process: app.rive.runtime.example, PID: 23025
            java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: 
                androidx.startup.StartupException: com.getkeepsafe.relinker.MissingLibraryException: Could not find 'libjnirivebridge.so'. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].
                at android.app.ActivityThread.installProvider(ActivityThread.java:8313)
                at android.app.ActivityThread.installContentProviders(ActivityThread.java:7810)
                at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7564)
                at android.app.ActivityThread.access$1700(ActivityThread.java:315)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2286)
                at android.os.Handler.dispatchMessage(Handler.java:106)
                at android.os.Looper.loopOnce(Looper.java:226)
                at android.os.Looper.loop(Looper.java:313)
                at android.app.ActivityThread.main(ActivityThread.java:8751)
                at java.lang.reflect.Method.invoke(Native Method)
                at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
            Caused by: androidx.startup.StartupException: com.getkeepsafe.relinker.MissingLibraryException: Could not find 'libjnirivebridge.so'. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].
                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:2516)
                at android.content.ContentProvider.attachInfo(ContentProvider.java:2486)
                at android.app.ActivityThread.installProvider(ActivityThread.java:8308)
                at android.app.ActivityThread.installContentProviders(ActivityThread.java:7810) 
                at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7564) 
                at android.app.ActivityThread.access$1700(ActivityThread.java:315) 
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2286) 
                at android.os.Handler.dispatchMessage(Handler.java:106) 
                at android.os.Looper.loopOnce(Looper.java:226) 
                at android.os.Looper.loop(Looper.java:313) 
                at android.app.ActivityThread.main(ActivityThread.java:8751) 
                at java.lang.reflect.Method.invoke(Native Method) 
                at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) 
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) 
            Caused by: com.getkeepsafe.relinker.MissingLibraryException: Could not find 'libjnirivebridge.so'. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].
                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:30)
                at app.rive.runtime.kotlin.RiveInitializer.create(RiveInitializer.kt:33)
                at app.rive.runtime.kotlin.RiveInitializer.create(RiveInitializer.kt:31)
                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:2516) 
                at android.content.ContentProvider.attachInfo(ContentProvider.java:2486) 
                at android.app.ActivityThread.installProvider(ActivityThread.java:8308) 
                at android.app.ActivityThread.installContentProviders(ActivityThread.java:7810) 
                at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7564) 
                at android.app.ActivityThread.access$1700(ActivityThread.java:315) 
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2286) 
                at android.os.Handler.dispatchMessage(Handler.java:106) 
                at android.os.Looper.loopOnce(Looper.java:226) 
                at android.os.Looper.loop(Looper.java:313) 
                at android.app.ActivityThread.main(ActivityThread.java:8751) 
                at java.lang.reflect.Method.invoke(Native Method) 
                at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) 
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) 

How to reproduce

  1. git clone https://github.com/rive-app/rive-android.git
  2. git checkout -b crashtest 1e63dbe
  3. Open the folder in Android Studio
  4. Run target app or compatibilitytest

Environment

Software

Hardware

umberto-sonnino commented 1 year ago

Hey @ryan-cha, thanks for providing a repro! If you're running it from source you need to also build the libraries and that's why you're getting those missing libs exception - you can find the steps to build those libs here

ryan-cha commented 1 year ago

@umberto-sonnino Ah! Thank you very much. I thought this was a ready-to-run example app. 😅 I'll try again following your instruction!