Content sharing crash on Android

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.

1 Like

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!

2 Likes

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)
1 Like

Bump

Bump

This should be fixed now in 40d415b.

1 Like