Closed AshleyMedway closed 2 years ago
@AshleyMedway Thanks man! This is working perfectly on iOS đź‘Ś
Works for me on iOS too. Would love to see that merged into the official repo @moberwasserlechner - thanks @AshleyMedway
@7freaks-otte I merge the change and improved it with the learnings I made on another plugin upgrade I made recently. Unfortunately I have currently no app to test it with. I could release it though but you guys would need to test it. 🤷‍♂️
Please release it , I will test on android and post the results!
I'm testing the master branch (for Capacitor 3) my Ionic Android app crash.
Steps:
This is my MainActivity.java
Repair that import com.byteowls.capacitor.filesharer.FileSharerPlugin;
get byteowls
in red, with message Cannot resolve symbol 'byteowls'
Let me known if is there any additional log to provide.
onic:
Ionic CLI : 6.17.0 (/Users/xxx/.nvm/versions/node/v14.17.3/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/angular 5.6.14
@angular-devkit/build-angular : 12.2.3
@angular-devkit/schematics : 12.2.3
@angular/cli : 12.2.3
@ionic/angular-toolkit : 4.0.0
Capacitor:
Capacitor CLI : 3.2.0
@capacitor/android : 3.2.0
@capacitor/core : 3.2.0
@capacitor/ios : not installed
Utility:
cordova-res : 0.15.3
native-run : 1.4.0
System:
NodeJS : v14.17.3 (/Users/xxx/.nvm/versions/node/v14.17.3/bin/node)
npm : 7.21.0
OS : macOS Big Sur
@MrSparklle have you done npx cap sync
and npx cap copy
?
also in the V3 version you don’t need to register the plugin in MainActivity. In V3 it can auto discover plugins like it does for iOS
@MrSparklle have you done
npx cap sync
andnpx cap copy
?
Sure, otherwise it will not even display the share menu.
EDIT:
Solved the byteowls
in red. Just clean and rebuild. But the app keeps crashing
also in the V3 version you don’t need to register the plugin in MainActivity. In V3 it can auto discover plugins like it does for iOS
Ok, removed all the code from MainActivity
class. Rebuild the app, and get the same behavior. The app crashes.
Is there something else to add in Android native code? Maybe something inside the build.gradle
or any other file?
I only made that ones that are explain in the README.
Hmmm, there must be something else going on because the screenshot is a compile time error but what you’re describing it on runtime error. Do you have a screenshot of the runtime exception?
The compile error has been solved. I clean and rebuild the project. But the app keeps crashing.
my AndroidManifest.xml has these 2 entries:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
and App has granted permissions to read and write the external storage.
Below the runtime log:
2021-08-31 16:25:42.127 3431-3585/br.com.residencialalgarve V/Capacitor/Plugin: To native (Capacitor plugin): callbackId: 45144928, pluginId: FileSharer, methodName: share
2021-08-31 16:25:42.130 3431-3585/br.com.residencialalgarve V/Capacitor: callback: 45144928, pluginId: FileSharer, methodName: share, methodData: {"filename":"Algarve.Regras.Instalacao.Split.pdf","base64Data":"JVBERi0xLjMKJcTl8uXrp\/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGtXc2O3EhyvtdTlO31urSepkgWWazyrVeaXYwxHmmlHtuAx4fq6hpJA6mqp1stCDr6osNCA2MuA2P36rfxQ\/mLiC+SySSlJluDBppkZjIyMv4zMpP14\/xP8x\/n9x9cF\/Pd9TzXv+sdivKsrOxZbopyviqbbFPOd6\/mvz+b19YSl6qqsjzPUd9Us7NX8\/tnZ+W8mJ99P1\/8zb352Q\/zL8+0i0\/DO8kBpGzmZ7t5udRucSk2G8Be1\/OTslotu8D\/Y77427+7h5r54je4FPPF39vTb\/\/BHtG5VH63sMfv7tn1d3KZeeN\/vDf\/z\/nZP0\/AsUhwLIu8ziqQZwDHxRcnk0lQdklQFstltqo\/RoLv7v32HogtlJbBZtl9G2Ve8CbLi1FDnBlbW9qX5arJ6prjmncZW45g7ADEZpMVq8YolUCM6CTyuFzN1+UmW+d5MX81K4p1tlpWZVv2ch7KmvUGBEK7l\/JW9PR8\/m\/zA0RJi9bzGrK0Wc0rCNp6drXXyvuP91e7\/eXrm+3L+dUL9LsutaNaJRBNi7oDFES6\/9WrYv7wCJF2vZlN0RsMXzQHFwxgk9Xr5XyVr40Yu2JmejMfQV7qoerNEq\/tBCZBl8smW6+KYl6XVMldYSoJrXny5R+fnD5FFyIwj0+fnPL2Kyv55unZ6dcmRKf\/9X+PWPnwy\/m9mbxw+mSUOBG7FqWiLKqsrBUljHZ2\/8xRWpxMHG256Y62KJerbAlCDo32wSPVj28eyvCgKA94ZfHpQ7vxYUZPs8UZ2z6OSueLp4+\/ZvnZWFLMYDBbUoASRbbMV4KvM54GE2jcajCpV9XKZHQ1L3IY4RXshtjendveCaBUhgqlagI1TxCE+BSZEVIoBno+3OrNbPFg+8JK3lrJfHFxRNV469p2vdzkWbPKl9DVRHwXpyMIRNlr4VVFk+UlnEsf3tWd4C3rrFxVxQC8CbIc4VfnWbWGBevj92A8fuZBRTUiyE0DE1bVfcjg5PFwQZbteD0ethfHfxrFtJ4UNtUyy5cwZRjE3aXaRBH2MB5F0cAKY1BdAd+KR5+uLWVRZJv1atlCPEN0Mzpc4biHiF0iGOqhCTqbgV1u5otdrCMwp1KmWmK3W0jjXfSlLpewJ40OyYKkYAUmyKORXqObVoBqeJJ6Vci4upAxrt1HBEgMgg7tp3CHpt+bddjvIGwzsRwibGoqtO3+ldrp8Mb2pbW\/sfKf7engghranV9tDzsYGlJzHyqu91fvw8Pl9uLq6C+\/i\/u93F61SLyWXmaL48XxOryqt+O5MkhFkYxyvRmk4HF4gNddM\/v0xq2q0nG22J5fufJuP\/xZLK3QVCmO6\/XxnCUGfe+afrH9wlqy+vJ49drYsT3o6MEXVh16UN\/sg8UwzqGniG94eknW\/mCdbJWMKDchx82Ow\/3pKtgcDHQEeXv2pthIfAqvBcImlgEDGGsXhvRYzE0pIVXHn57f1dwg7FkWVQvx1zQ3PTShlk\/3MCMiDCL+GMZie\/HjDXWONZQcZaK0uNxT24T3UiCq\/RHBhKpJC1E0uRLi\/nJ7bb3yAkfCFn7d3bCqlTOFdON6yfL3XST9dZ\/HPfkN4VZ5Liyh7MwkGv\/0FLO1akW9WmabpmiZEgwmhner7MShd5H6qropMB1pBHRP37c+GKHv\/5hqkheHY6vwQtcHZqTkVtrBKJEsICzvSIeL\/ZuY4+N1yUxVgr+YqqJxD85gElJlQqRyFfNn5gIAZECKhVgpuf54E+xJELYLkRmpDDeRP4SlmNmL3uqS\/ezdUlyLfxTBJpjWqThFaOwIahouDnwvNkswER5RbRwDjY+8\/sebgOnx+lrts7zWGsSpnKi7UY9yokiiHnDi+gb4GaWFGPZ0APXmCye1NbjQy36cfe0HzZs6azZrmacmrl\/oP01HkqBCDGy97mrHYjfKvvbQLPNN1qwxlyK8Sda1o8jJ\/EfI70DdOoD6Z8cLerUKPDD\/hruuJENKUaZirnf02WTPOcXYPDoaIlQxwabHlaKb82vaQ77Fp5ufpelsEWHRsd7an+nB8SI261ohcZB1FUdDsEqIyNBrK7v6eEsMFkcSeJnKd\/1KRVEsnQIxNdHbUEb8nA6xRRuvNK05V01J3PVxnIzKzHwoBiibKltXBVKQXbiQgEtyQrT\/BGkNlJj9mYliWAlsR5d7hxu3L6HNTbcFPbBye7Z4t4UDDk3bux6UYVYLVhS\/EsLi4djBBcJET1odb0Ivzikp9uDPhhdcuwbuDEWlStAZwbGe1hZNKYk2uJfECpyMY5tkoAcj7aJBLmgNe5AABt\/MnoNBuKVOqT0P42fhwRXPxR8eN7O4NjQ98zqUjB+\/Yow0djy3Fdk9QbjQCTaB7au96SmMuGAsuCH7xqetFYraovAnf9ImB3vi67vOk\/ARL\/Dy3upEC1Eorg4X6A1drDxd2hP7Y8vQu77XbUIErzrAiBLH8K4D84M9\/dku3d7DaFXshPhASWwpLkSC43tur7MwvBcPhQR5a5wU3QMUFnJgxLM7PgLrYsZBc5hkAFtymHwhGysgYolak1bUmyKrVuu+bIzyvv3ZEnKEJwVsfEfOpsAydUucpKQeT6DMBNsmmUuM2+UI4vvQJtQwRY+F1mI53h2vx2WaesZjuQZp8g3WEdAz7Qd7HjWgjtdPwl8JTZC8yBOztMVwxoY8LRMlNqkLOJEW4p3DEyzM9O1GD1EYjm8siIBwW\/oFKu0BBw3csy09zy\/kBcvhZdQEqHPA+2zFRkeqmtcybzXaB\/REco2FrXW9lgWmZZ7I5Rg3EGfibFGupfy6WmeFrsmloIccASZXkvhU667enHfDvhX28zJ21oFQGg8xCABZLvcHmROPdw8t+tD+Cu4xkhuPQCcLuC4nRpCRVkdYvxoADcqErE4UzraKPGIkPSYXzTrP1lg1HmAyqHyrTsVMToeiqooJSteknY9R1R6ekhVu6lUFPB3iJFXt4KmrcS3N1cUHsM5JkPuxR3OmUyvNvUEFcSPBSpogUAeIOsZp0uzowahD8jYyJ1CvGUCn2hwnAgUU630qYrlTlNs0HAlH+m1VE3nBrYiYmRGi0bG6SIXGQVCB1TCsym4i6vvqIMhUru+bz8hL3pR5sQmdTsz8LLG2VMOv9hgC1ZqW+knlscayXg5fKKC7\/gODQJ6Zjs9ZxKAaEz2rIANojPnkiTumeIXuNLy4G7RP2kTnJnKXRP5g43RuJeNUcV5WdX+IPrsQEcFi\/SB+Us4Bt1ZUJZUjbmeV0pSrBiTKjrMiqdl3ySYjlmIJyRBeeO3l8cB27984emzZmTbLq0MJSu3p8OZIg\/+GiCgPpI5TP81JadsuVkJtKb42rG7ltYZGxmt57dC+rzU686rK2SLkTC+2F5LgYagl7zzwRKxwYYRedizXQIxRYR22Y2EhzMHs7FtulasZqHER249IAMWcyCPp50whz3025ToCTZTGpKWOWp4RgYwYUMfQSHg3a01xA7+6VPc3NKx4dU6x7Tt6n4kIOpLjVEGQh66gvnMycNjCR2kVhu+LLpQrLuFIkwDxcHwjLJSyli766Klw0\/\/9AemHGC\/IMel6lJyayEbMJnSBjHGL+bULN5HD5DjWR8yGxhO9pTS2D2G7jcS+oHTXVEze8JEnsw61QNUqCdIhly+BLEY7twtmYPIAKcLl54NeMEfDwwtIEi5sIA8IAbUIJIUOzTG\/Qz1mh\/j\/ks2sysoMmFUY\/HmtjecXlog1DFhlndqbxM0AvLY
--------- beginning of system
2021-08-31 16:25:42.176 3431-3431/br.com.residencialalgarve D/Capacitor: App paused
2021-08-31 16:25:42.567 3431-3654/br.com.residencialalgarve E/DatabaseUtils: Writing exception to parcel
java.lang.SecurityException: Permission Denial: reading com.byteowls.capacitor.filesharer.FileSharerProvider uri content://br.com.residencialalgarve.filesharer.fileprovider/capfilesharer/Algarve.Regras.Instalacao.Split.pdf from pid=4210, uid=1000 requires the provider be exported, or grantUriPermission()
at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:729)
at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:602)
at android.content.ContentProvider$Transport.query(ContentProvider.java:231)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:104)
at android.os.Binder.execTransactInternal(Binder.java:1021)
at android.os.Binder.execTransact(Binder.java:994)
2021-08-31 16:26:00.022 3431-3431/br.com.residencialalgarve D/Capacitor: Unable to find a Capacitor plugin to handle requestCode, trying Cordova plugins 1721108809
2021-08-31 16:26:00.023 3431-3431/br.com.residencialalgarve D/AndroidRuntime: Shutting down VM
--------- beginning of crash
2021-08-31 16:26:00.024 3431-3431/br.com.residencialalgarve E/AndroidRuntime: FATAL EXCEPTION: main
Process: br.com.residencialalgarve, PID: 3431
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1721108809, result=0, data=null} to activity {br.com.residencialalgarve/br.com.residencialalgarve.MainActivity}: java.lang.IllegalArgumentException: method com.byteowls.capacitor.filesharer.FileSharerPlugin.callbackComplete argument 2 has type android.app.Instrumentation$ActivityResult, got androidx.activity.result.ActivityResult
at android.app.ActivityThread.deliverResults(ActivityThread.java:4845)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4886)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.lang.IllegalArgumentException: method com.byteowls.capacitor.filesharer.FileSharerPlugin.callbackComplete argument 2 has type android.app.Instrumentation$ActivityResult, got androidx.activity.result.ActivityResult
at java.lang.reflect.Method.invoke(Native Method)
at com.getcapacitor.Plugin.triggerActivityCallback(Plugin.java:154)
at com.getcapacitor.Plugin.lambda$initializeActivityLaunchers$0$Plugin(Plugin.java:116)
at com.getcapacitor.-$$Lambda$Plugin$9tit0PZrRMA5UA4Z_xqI4yDk4JY.onActivityResult(Unknown Source:6)
at androidx.activity.result.ActivityResultRegistry.doDispatch(ActivityResultRegistry.java:362)
at androidx.activity.result.ActivityResultRegistry.dispatchResult(ActivityResultRegistry.java:322)
at androidx.activity.ComponentActivity.onActivityResult(ComponentActivity.java:634)
at androidx.fragment.app.FragmentActivity.onActivityResult(FragmentActivity.java:164)
at com.getcapacitor.BridgeActivity.onActivityResult(BridgeActivity.java:216)
at android.app.Activity.dispatchActivityResult(Activity.java:8110)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4838)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4886)Â
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)Â
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)Â
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)Â
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)Â
at android.os.Handler.dispatchMessage(Handler.java:107)Â
at android.os.Looper.loop(Looper.java:214)Â
at android.app.ActivityThread.main(ActivityThread.java:7356)Â
at java.lang.reflect.Method.invoke(Native Method)Â
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)Â
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)Â
2021-08-31 16:26:00.461 3431-3473/br.com.residencialalgarve D/TransportRuntime.SQLiteEventStore: Storing event with priority=HIGHEST, name=FIREBASE_CRASHLYTICS_REPORT for destination cct
2021-08-31 16:26:00.480 3431-3473/br.com.residencialalgarve D/TransportRuntime.JobInfoScheduler: Upload for context TransportContext(cct, HIGHEST, MSRodHRwczovL2NyYXNobHl0aWNzcmVwb3J0cy1wYS5nb29nbGVhcGlzLmNvbS92MS9maXJlbG9nL2xlZ2FjeS9iYXRjaGxvZ1xBSXphU3lCcnBTWVQ0RkZMMDlyZUhKaTZIOUZZZGVpU25VVE92Mk0=) is already scheduled. Returning...
2021-08-31 16:26:00.517 3431-3431/br.com.residencialalgarve I/Process: Sending signal. PID: 3431 SIG: 9
There are some related issues in Stackoverflow that maybe can help to solve:
https://stackoverflow.com/questions/57689792/permission-denial-while-sharing-file-with-fileprovider https://stackoverflow.com/questions/62323291/coulnt-sharing-file-requires-the-provider-be-exported-or-granturipermission https://stackoverflow.com/questions/24467696/android-file-provider-permission-denial
Let me known If you needed any additional info.
I just released the 3.0.0 version to npm. I had no problem while testing on iOS 12.x and 14.x and Android 11.
I've been able to test Android but haven't been able to test iOS yet. Related issue: #28