我尝试过使用这个插件来获取图片,并且在iOS上工作得很好,但是在安卓系统上,应用程序会崩溃。控制台是这样说的。
V/BoostFramework(22266):mAcquireFunc方法=公共int com.qualcomm.qti.Performance.perfLockRelease() int[]) V/BoostFramework(22266):mReleaseFunc方法=公共int com.qualcomm.qti.Performance.perfLockRelease() V/BoostFramework(22266):mAcquireTouchFunc方法=公共int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[]) V/BoostFramework(22266):mIOPStart方法=公共int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,com.qualcomm.qti.Performance.perfIOPrefetchStop() V/BoostFramework(22266):mIOPStop方法=公共int android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter,V/BoostFramework(22266):BoostFramework():mPerf = com.qualcomm.qti.Performance@544293f W/art (22266):在Android4.1之前,方法android.graphics.PorterDuffColorFilter android.content.res.ColorStateList,android.graphics.PorterDuff$Mode)将错误地覆盖包-- android.graphics.drawable.Drawable D/BitmapLoadUtils中的私有方法(22266):maxBitmapSize: 2078D/BitmapWorkerTask(22266):Uri方案:文件E/TransformImageView(22266):onFailure: setImageUri E/TransformImageView(22266):java.io.FileNotFoundException:被拒绝的权限E/TransformImageView(22266):at android.os.Parcel.openFileDescriptor(原生方法) E/TransformImageView(22266):at onFailureE/TransformImageView(22266):在android.os.ParcelFileDescriptor.open(ParcelFileDescriptor.java:200) E/TransformImageView(22266):at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:981) E/TransformImageView(22266):at android.content.ContentResolver.openFileDescriptor(ContentResolver.java:839) E/TransformImageView(22266):at android.content.ContentResolver.openFileDescriptor(ContentResolver.java:793) E/TransformImageView(22266):at com.yalantis.ucrop.task。BitmapLoadTask.doInBackground(BitmapLoadTask.java:100) E/TransformImageView(22266):at com.yalantis.ucrop.task.BitmapLoadTask.doInBackground(BitmapLoadTask.java:44) E/TransformImageView(22266):at android.os.AsyncTask$2.call(AsyncTask.java:305) E/TransformImageView(22266):at java.util.concurrent.FutureTask.run(FutureTask.java:237) E/TransformImageView(22266):at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) E/TransformImageView(22266):在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) E/TransformImageView(22266):java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) E/TransformImageView(22266):at java.lang.Thread.run(Thread.java:761) E/AndroidRuntime(22266):致命异常: main E/AndroidRuntime(22266):Process: com.example.droidemo,PID: 22266 E/AndroidRuntime(22266):java.lang.RuntimeException:失败传递结果ResultInfo{who=null,request=69,result=96,活动{com.example.droidemo/com.example.droidemo.MainActivity}:java.lang.IllegalArgumentException:不支持的值: java.io.FileNotFoundException:权限被拒绝E/AndroidRuntime(22266):at android.app.ActivityThread.deliverResults(ActivityThread.java:4211) E/AndroidRuntime(22266):at android.app.ActivityThread.handleSendResult(ActivityThread.java:4254) E/AndroidRuntime(22266):at android.app.ActivityThread.-wrap20(ActivityThreadandroid.app.ActivityThread$H.handleMessage(ActivityThread.java:1584) E/AndroidRuntime(22266):在android.os.Handler.dispatchMessage(Handler.java:102) E/AndroidRuntime(22266):at android.os.Looper.loop(Looper.java:154) E/AndroidRuntime(22266):at android.app.ActivityThread.main(ActivityThread.java:6242) E/AndroidRuntime(22266):at java.lang.reflect.Method。调用(原生方法) E/AndroidRuntime(22266):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) E/AndroidRuntime(22266):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) E/AndroidRuntime(22266):引起: java.lang.IllegalArgumentException:不支持的值: java.io.FileNotFoundException:权限被拒绝E/AndroidRuntime(22266):at io.flutter.plugin.common.StandardMessageCodec.writeValue(StandardMessageCodec.java:E/AndroidRuntime(22266):在io.flutter.plugin.common.StandardMethodCodec.encodeErrorEnvelope(StandardMethodCodec.java:70) E/AndroidRuntime(22266):at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.error(MethodChannel.java:208) E/AndroidRuntime(22266):at vn.hunghd.flutter.plugins.imagecropper.ImageCropperDelegate.finishWithError(ImageCropperDelegate.java:99) E/AndroidRuntime(22266):at vn.hunghd.flutter.plugins.imagecropper.ImageCropperDelegate.onActivityResult(ImageCropperDelegate.java:82) E/AndroidRuntime(22266):在io.flutter.app.FlutterPluginRegistry.onActivityResult(FlutterPluginRegistry.java:210) E/AndroidRuntime(22266):at io.flutter.app.FlutterActivityDelegate.onActivityResult(FlutterActivityDelegate.java:139) E/AndroidRuntime(22266):at io.flutter.app.FlutterActivity.onActivityResult(FlutterActivity.java:138) E/AndroidRuntime(22266):at android.app.Activity.dispatchActivityResult(Activity.java:7009) E/AndroidRuntime(22266):at android.app.ActivityThread.deliverResults(ActivityThread.java:4207) E/AndroidRuntime(22266):.又失去了与设备的连接。退出(西格制)
有人知道怎么解决这个问题吗?
发布于 2020-03-02 15:10:18
在Android平台上,我们需要将UCropActivity配置到下面的AndroidManifest.xml应用程序中。IOS不需要这样做。
阅读详细信息:cropper
<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>发布于 2020-06-18 02:38:25
cropper/issues/78#issuecomment-536887525
我已经把它解决了
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "27.1.1"
}
if (details.requested.group == 'androidx.core'
&& !details.requested.name.contains('androidx') ) {
details.useVersion "1.0.1"
}
if (requested.group == "androidx") {
if (!requested.name.startsWith("multidex")) {
details.useVersion "${targetSdk}.+"
}https://stackoverflow.com/questions/53757742
复制相似问题