Hello,
I try to share a file on Android, but it crashes.
Logcat says:
java.lang.UnsatisfiedLinkError: No implementation found for android.database.Cursor com.roli.juce.JuceSharingContentProvider.contentSharerQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String) (tried Java_com_roli_juce_JuceSharingContentProvider_contentSharerQuery and Java_com_roli_juce_JuceSharingContentProvider_contentSharerQuery__Landroid_net_Uri_2_3Ljava_lang_String_2Ljava_lang_String_2_3Ljava_lang_String_2Ljava_lang_String_2)
at com.roli.juce.JuceSharingContentProvider.contentSharerQuery(Native Method)
at com.roli.juce.JuceSharingContentProvider.query(JuceSharingContentProvider.java:77)
at android.content.ContentProvider.query(ContentProvider.java:1065)
at android.content.ContentProvider.query(ContentProvider.java:1157)
at android.content.ContentProvider$Transport.query(ContentProvider.java:245)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:102)
at android.os.Binder.execTransact(Binder.java:682)
The sharing options are shown. But as soon as I select one of the options, it crashes.
ContentSharing is enabled in Projucer.
I’m on Android 8.0 using a Samsung Galaxy S7.
It works fine on iOS.
I’m getting the same error (and same device, android OS version) … it can’t seem to find the native method for contentSharerQuery, despite it being implemented in juce_android_ContentSharer.cpp. Just now trying to figure out why. Anyone else who has progressed further, please speak up!
For further information, the share sheet comes up normally, but when a sharing method is selected (for instance, Gmail) it comes up and a few seconds later the app crashes from underneath with that unsatisfied link error. So it appears to be occurring in a separate process (from the context of the thing using the provider).
The full context around the error in logcat is:
08-06 13:10:19.311 3781 3826 W Binder : Outgoing transactions from this process must be FLAG_ONEWAY
08-06 13:10:19.311 3781 3826 W Binder : java.lang.Throwable
08-06 13:10:19.311 3781 3826 W Binder : at android.os.BinderProxy.transact(Binder.java:744)
08-06 13:10:19.311 3781 3826 W Binder : at android.content.ContentProviderProxy.getType(ContentProviderNative.java:451)
08-06 13:10:19.311 3781 3826 W Binder : at com.android.server.am.ActivityManagerService.getProviderMimeType(ActivityManagerService.java:15448)
08-06 13:10:19.311 3781 3826 W Binder : at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:1892)
08-06 13:10:19.311 3781 3826 W Binder : at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3774)
08-06 13:10:19.311 3781 3826 W Binder : at android.os.Binder.execTransact(Binder.java:682)
08-06 13:10:19.338 31943 32001 E zygote64: No implementation found for android.database.Cursor com.roli.juce.JuceSharingContentProvider.contentSharerQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String) (tried Java_com_roli_juce_JuceSharingContentProvider_contentSharerQuery and Java_com_roli_juce_JuceSharingContentProvider_contentSharerQuery__Landroid_net_Uri_2_3Ljava_lang_String_2Ljava_lang_String_2_3Ljava_lang_String_2Ljava_lang_String_2)
08-06 13:10:19.342 31943 32001 E JavaBinder: *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
08-06 13:10:19.342 31943 32001 E JavaBinder: java.lang.UnsatisfiedLinkError: No implementation found for android.database.Cursor com.roli.juce.JuceSharingContentProvider.contentSharerQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String) (tried Java_com_roli_juce_JuceSharingContentProvider_contentSharerQuery and Java_com_roli_juce_JuceSharingContentProvider_contentSharerQuery__Landroid_net_Uri_2_3Ljava_lang_String_2Ljava_lang_String_2_3Ljava_lang_String_2Ljava_lang_String_2)
08-06 13:10:19.342 31943 32001 E JavaBinder: at com.roli.juce.JuceSharingContentProvider.contentSharerQuery(Native Method)
08-06 13:10:19.342 31943 32001 E JavaBinder: at com.roli.juce.JuceSharingContentProvider.query(JuceSharingContentProvider.java:77)
08-06 13:10:19.342 31943 32001 E JavaBinder: at android.content.ContentProvider.query(ContentProvider.java:1063)
08-06 13:10:19.342 31943 32001 E JavaBinder: at android.content.ContentProvider.query(ContentProvider.java:1155)
08-06 13:10:19.342 31943 32001 E JavaBinder: at android.content.ContentProvider$Transport.query(ContentProvider.java:244)
08-06 13:10:19.342 31943 32001 E JavaBinder: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:102)
08-06 13:10:19.342 31943 32001 E JavaBinder: at android.os.Binder.execTransact(Binder.java:682)
System.err: java.lang.UnsatisfiedLinkError: No implementation found for android.database.Cursor com.roli.juce.JuceSharingContentProvider.contentSharerQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String) (tried Java_com_roli_juce_JuceSharingContentProvider_contentSharerQuery and Java_com_roli_juce_JuceSharingContentProvider_contentSharerQuery__Landroid_net_Uri_2_3Ljava_lang_String_2Ljava_lang_String_2_3Ljava_lang_String_2Ljava_lang_String_2)
08-06 13:10:19.343 31943 32001 W System.err: at com.roli.juce.JuceSharingContentProvider.contentSharerQuery(Native Method)
08-06 13:10:19.343 31943 32001 W System.err: at com.roli.juce.JuceSharingContentProvider.query(JuceSharingContentProvider.java:77)
08-06 13:10:19.344 31943 32001 W System.err: at android.content.ContentProvider.query(ContentProvider.java:1063)
08-06 13:10:19.344 31943 32001 W System.err: at android.content.ContentProvider.query(ContentProvider.java:1155)
08-06 13:10:19.344 31943 32001 W System.err: at android.content.ContentProvider$Transport.query(ContentProvider.java:244)
08-06 13:10:19.344 31943 32001 W System.err: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:102)
08-06 13:10:19.344 31943 32001 W System.err: at android.os.Binder.execTransact(Binder.java:682)
08-06 13:10:19.344 31943 32001 F zygote64: jni_internal.cc:508] JNI FatalError called: java.lang.Error thrown during binder transaction: java.lang.UnsatisfiedLinkError: No implementation found for android.database.Cursor com.roli.juce.JuceSharingContentProvider.contentSharerQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String) (tried Java_com_roli_juce_JuceSharingContentProvider_contentSharerQuery and Java_com_roli_juce_JuceSharingContentProvider_contentSharerQuery__Landroid_net_Uri_2_3Ljava_lang_String_2Ljava_lang_String_2_3Ljava_lang_String_2Ljava_lang_String_2)