yasirkula / UnityNativeShare

A Unity plugin to natively share files (images, videos, documents, etc.) and/or plain text on Android & iOS
MIT License
890 stars 131 forks source link

Crash with Unity as a library on Android 11 #155

Open Panicch opened 1 year ago

Panicch commented 1 year ago

(Android 11, Xiaomi Redmi 9T) Using the package in a Unity application exported as a library, the Unity activity in Android crashes when I tempt to share an image. When I'm in landscape mode the activity does not crash but it throw an exception:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference at com.yasirkula.unity.NativeShareContentProvider.parsePathStrategy(NativeShareContentProvider.java:257) at com.yasirkula.unity.NativeShareContentProvider.getPathStrategy(NativeShareContentProvider.java:233) at com.yasirkula.unity.NativeShareContentProvider.getUriForFile(NativeShareContentProvider.java:88) at com.yasirkula.unity.NativeShare.CreateIntentFromBundle(NativeShare.java:175) at com.yasirkula.unity.NativeShareCustomShareDialog.onCreateDialog(NativeShareCustomShareDialog.java:82) at android.app.DialogFragment.onGetLayoutInflater(DialogFragment.java:417) at android.app.Fragment.performGetLayoutInflater(Fragment.java:1322) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1303) at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2436) at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2215) at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2171) at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2072) at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3062) at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:3014) at android.app.FragmentController.dispatchStart(FragmentController.java:195) at android.app.Activity.performStart(Activity.java:8185) at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3603) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221) at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2181) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:236) at android.app.ActivityThread.main(ActivityThread.java:8071) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011) 2022-11-23 10:47:59.932 27946-28031 I/FA: Tag Manager is not found and thus will not be used

yasirkula commented 1 year ago

In your merged AndroidManifest.xml, is this android:authorities value the same as your bundle identifier: https://github.com/yasirkula/UnityNativeShare/blob/bfb8b4e8124ad52712f0d40d2ffa9b966d03bdbd/.github/AAR%20Source%20(Android)/AndroidManifest.xml#L6-L10

And can you check if replacing NativeShare.aar with the one inside this zip archive resolves the issue without any side effects?