Git Product home page Git Product logo

image_picker_saver's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

image_picker_saver's Issues

Empty filePath

Iam testing on Android Q, and the filePath is always empty

V/DartMessenger(27803): Received message from Dart over channel 'plugins.flutter.io/image_picker_saver'
V/DartMessenger(27803): Deferring to registered handler to process message.
I/flutter (27803): saved filePath:

filePath为null 调试报错

 String filePath = await _channel.invokeMethod(
      'saveFile',
      <String, dynamic>{
        'fileData': fileData,
        'title': title,
        'description': description
      },
    );
    debugPrint("saved filePath:" + filePath);  《======= 这里报错
    //process ios return filePath
    if(filePath.startsWith("file://")){
      filePath=filePath.replaceAll("file://", "");
    }
    return  filePath;
  }

iOS 13.1 (17A844)

filePath永远返回为null
我同事说IOS不会返回路径,是这个原因吗?
现在调试一直报错

谢谢

iOS 13.2 保存成功返回null 问题在debugPrint("saved filePath:" + filePath) 导致没法判断是否保存成功

2020-01-02 17:52:35.094731+0800 Runner[3982:988747] Success PHImageFileURLKey (null)
2020-01-02 17:52:35.096814+0800 Runner[3982:988939] [VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: Invalid argument(s)
#0 _StringBase.+ (dart:core-patch/string_patch.dart:265:57)
#1 ImagePickerSaver.saveFile (package:image_picker_saver/image_picker_saver.dart:85:34)

#2 _onCaptureAndSave (package:cloud_intercom/pages/intercom_call_page/effect.dart:46:43)

#3 combineEffects. (package:fish_redux/src/redux_component/helper.dart:74:32)
#4 EnhancerDefault._inverterEffect. (package:fish_redux/src/redux_component/enhancer.dart:117:56)
#5 _pageAnalyticsMiddleware... (package:cloud_intercom/app.dart:136:24)
#6 createEffectDispatch. (package:fish_redux/src/redux_component/helper.dart:89:39)
#7 createDispatch. (package:fish_redux/src/redux_component/helper.dart:109:39)
#8 LogicContext.dispatch (package:fish_redux/src/redux_component/context.dart:77:38)
#9 buildView. (package:cloud_intercom/pages/intercom_call_page/view.dart:82:43)
#10 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:706:14)
#11 _InkResponseState.build. (package:flutter/src/material/ink_well.dart:789:36)
#12 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
#13 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:486:11)
#14 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:264:5)
#15 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:199:7)
#16 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:467:9)
#17 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:76:12)
#18 PointerRouter._dispatchEventToRoutes. (package:flutter/src/gestures/pointer_router.dart:117:9)
#19 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:379:8)
#20 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:115:18)
#21 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:7)
#22 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
#23 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
#24 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
#25 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
#26 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
#27 _rootRunUnary (dart:async/zone.dart:1138:13)
#28 _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#29 _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
#30 _invoke1 (dart:ui/hooks.dart:273:10)
#31 _dispatchPointerDataPacket (dart:ui/hooks.dart:182:5)

Save video file bug

See: #2 (comment)

Codes:

import 'package:http/http.dart' as oldHttp;
    String path = "http://example.com/generated.mp4";
    var response = await oldHttp.get(path);
    String filePath =
        await ImagePickerSaver.saveFile(fileData: response.bodyBytes);

Error Exception:


V/MediaStore( 6069): Create the thumbnail in memory: origId=373908, kind=1, isVideo=false
I/ExifInterface_JNI( 6069): Raw image not detected
W/ExifInterface( 6069): Invalid image: ExifInterface got an unsupported image format file(ExifInterface supports JPEG and some RAW image formats only) or a corrupted JPEG file to ExifInterface.
W/ExifInterface( 6069): java.io.IOException: Invalid marker: 0
W/ExifInterface( 6069): 	at android.media.ExifInterface.getJpegAttributes(ExifInterface.java:1835)
W/ExifInterface( 6069): 	at android.media.ExifInterface.loadAttributes(ExifInterface.java:1475)
W/ExifInterface( 6069): 	at android.media.ExifInterface.<init>(ExifInterface.java:1112)
W/ExifInterface( 6069): 	at android.media.ThumbnailUtils.createThumbnailFromEXIF(ThumbnailUtils.java:480)
W/ExifInterface( 6069): 	at android.media.ThumbnailUtils.createImageThumbnail(ThumbnailUtils.java:97)
W/ExifInterface( 6069): 	at android.provider.MediaStore$InternalThumbnails.getThumbnail(MediaStore.java:759)
W/ExifInterface( 6069): 	at android.provider.MediaStore$Images$Thumbnails.getThumbnail(MediaStore.java:1091)
W/ExifInterface( 6069): 	at io.flutter.plugins.imagepickersaver.CapturePhotoUtils.insertImage(CapturePhotoUtils.java:70)
W/ExifInterface( 6069): 	at io.flutter.plugins.imagepickersaver.ImagePickerDelegate.saveImageToGallery(ImagePickerDelegate.java:285)
W/ExifInterface( 6069): 	at io.flutter.plugins.imagepickersaver.ImagePickerSaverPlugin.onMethodCall(ImagePickerSaverPlugin.java:84)
W/ExifInterface( 6069): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:200)
W/ExifInterface( 6069): 	at io.flutter.view.FlutterNativeView$PlatformMessageHandlerImpl.handlePlatformMessage(FlutterNativeView.java:188)
W/ExifInterface( 6069): 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:202)
W/ExifInterface( 6069): 	at android.os.MessageQueue.nativePollOnce(Native Method)
W/ExifInterface( 6069): 	at android.os.MessageQueue.next(MessageQueue.java:323)
W/ExifInterface( 6069): 	at android.os.Looper.loop(Looper.java:142)
W/ExifInterface( 6069): 	at android.app.ActivityThread.main(ActivityThread.java:6358)
W/ExifInterface( 6069): 	at java.lang.reflect.Method.invoke(Native Method)
W/ExifInterface( 6069): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:880)
W/ExifInterface( 6069): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)
D/skia    ( 6069): --- SkAndroidCodec::NewFromStream returned null

Camera Roll

Does this not save to Camera Roll or Gallery for Android?

图片保存成功,但报错误信息 iOS13.1.3

save image successful
Success public.png {
PHImageFileDataKey = {length = 253961, bytes = 0x89504e47 0d0a1a0a 0000000d 49484452 ... 49454e44 ae426082 };
PHImageFileOrientationKey = 0;
PHImageFileUTIKey = "public.png";
PHImageResultIsDegradedKey = 0;
PHImageResultRequestIDKey = 5;
}
Success PHImageFileURLKey (null)
flutter: Invalid argument(s)

android 能保存在特定的相册文件夹嘛?

例如Android的QQ里面的图片 是保存在手机里 全部相册下-> QQ_Images 文件夹下,
Android的微信里面的图片,是保存在手机里 全部相册下->WeiXin 文件夹下

image_picker_saver 可不可以指定一个文件夹名称来保存?

O`HGPW50$85(R2FE2QI(F~Q

编译apk时 报 ProcessException: ProcessException: Permission denied

在 flutter 1.10.14 版本中 ,编译没问题。
在 flutter 1.12.15 版本中
编译apk报错,具体日志

Flutter crash report; please file at https://github.com/flutter/flutter/issues.

command

flutter build apk --target-platform android-arm,android-arm64 --split-per-abi

exception

ProcessException: ProcessException: Permission denied
Command: /Users/mickeystone/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.2.2/android/gradlew -I=/Users/mickeystone/flutter/packages/flutter_tools/gradle/aar_init_script.gradle -Pflutter-root=/Users/mickeystone/flutter -Poutput-dir=/Users/mickeystone/wor/flutter_wtf/build/app -Pis-plugin=true -Ptarget-platform=android-arm,android-arm64,android-x64 assembleAarRelease

#0      _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart:266:37)
<asynchronous suspension>
#1      buildGradleAar (package:flutter_tools/src/android/gradle.dart:548:33)
#2      buildPluginsAsAar (package:flutter_tools/src/android/gradle.dart:711:13)
<asynchronous suspension>
#3      buildGradleApp (package:flutter_tools/src/android/gradle.dart:257:11)
#4      buildGradleApp (package:flutter_tools/src/android/gradle.dart:415:19)
<asynchronous suspension>
#5      _AndroidBuilderImpl.buildApk (package:flutter_tools/src/android/android_builder.dart:97:13)
#6      BuildApkCommand.runCommand (package:flutter_tools/src/commands/build_apk.dart:106:26)
#7      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:615:18)
<asynchronous suspension>
#8      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:515:33)
<asynchronous suspension>
#9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:146:29)
#10     _rootRun (dart:async/zone.dart:1126:13)
#11     _CustomZone.run (dart:async/zone.dart:1023:19)
#12     _runZoned (dart:async/zone.dart:1518:10)
#13     runZoned (dart:async/zone.dart:1465:12)
#14     AppContext.run (package:flutter_tools/src/base/context.dart:145:18)
#15     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:505:20)
#16     CommandRunner.runCommand (package:args/command_runner.dart:197:27)
#17     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:413:21)
<asynchronous suspension>
#18     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:146:29)
#19     _rootRun (dart:async/zone.dart:1126:13)
#20     _CustomZone.run (dart:async/zone.dart:1023:19)
#21     _runZoned (dart:async/zone.dart:1518:10)
#22     runZoned (dart:async/zone.dart:1465:12)
#23     AppContext.run (package:flutter_tools/src/base/context.dart:145:18)
#24     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:364:19)
#25     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#26     new Future.sync (dart:async/future.dart:224:31)
#27     CommandRunner.run (package:args/command_runner.dart:112:14)
#28     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:250:18)
#29     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:63:22)
#30     _rootRun (dart:async/zone.dart:1126:13)
#31     _CustomZone.run (dart:async/zone.dart:1023:19)
#32     _runZoned (dart:async/zone.dart:1518:10)
#33     runZoned (dart:async/zone.dart:1502:12)
#34     run.<anonymous closure> (package:flutter_tools/runner.dart:61:18)
<asynchronous suspension>
#35     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:146:29)
#36     _rootRun (dart:async/zone.dart:1126:13)
#37     _CustomZone.run (dart:async/zone.dart:1023:19)
#38     _runZoned (dart:async/zone.dart:1518:10)
#39     runZoned (dart:async/zone.dart:1465:12)
#40     AppContext.run (package:flutter_tools/src/base/context.dart:145:18)
#41     runInContext (package:flutter_tools/src/context_runner.dart:64:24)
#42     run (package:flutter_tools/runner.dart:50:10)
#43     main (package:flutter_tools/executable.dart:65:9)
#44     main (file:///Users/mickeystone/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#45     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:305:32)
#46     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)

flutter doctor

�[32m[✓]�[39m Flutter (Channel unknown, v1.12.14, on Mac OS X 10.15.1 19B88, locale zh-Hans-PH)
    �[32m•�[39m Flutter version 1.12.14 at /Users/mickeystone/flutter
    �[32m•�[39m Framework revision 7726910a5b (6 天前), 2019-11-25 16:47:51 -0500
    �[32m•�[39m Engine revision c89ac6347b
    �[32m•�[39m Dart version 2.7.0

�[32m[✓]�[39m Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    �[32m•�[39m Android SDK at /Users/mickeystone/Library/Android/sdk
    �[32m•�[39m Android NDK location not configured (optional; useful for native profiling support)
    �[32m•�[39m Platform android-29, build-tools 29.0.2
    �[32m•�[39m Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    �[32m•�[39m Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    �[32m•�[39m All Android licenses accepted.

�[32m[✓]�[39m Xcode - develop for iOS and macOS (Xcode 11.2.1)
    �[32m•�[39m Xcode at /Applications/Xcode.app/Contents/Developer
    �[32m•�[39m Xcode 11.2.1, Build version 11B53
    �[32m•�[39m CocoaPods version 1.8.4

�[32m[✓]�[39m Android Studio (version 3.5)
    �[32m•�[39m Android Studio at /Applications/Android Studio.app/Contents
    �[32m•�[39m Flutter plugin version 41.1.2
    �[32m•�[39m Dart plugin version 191.8593
    �[32m•�[39m Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

�[32m[✓]�[39m IntelliJ IDEA Ultimate Edition (version 2019.3)
    �[32m•�[39m IntelliJ at /Users/mickeystone/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    �[32m•�[39m Flutter plugin version 41.1.5
    �[32m•�[39m Dart plugin version 193.5432

�[33m[!]�[39m VS Code (version 1.40.1)
    �[32m•�[39m VS Code at /Applications/Visual Studio Code.app/Contents
    �[31m✗�[39m Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

�[32m[✓]�[39m Connected device (1 available)
    �[32m•�[39m iPhone 8 • DD1B2F21-6F6A-474A-908A-3FA5D3EAE79D • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-2 (simulator)

�[33m!�[39m Doctor found issues in 1 category.

Exception has occurred. Can't include this package

Exception has occurred.
PlatformException (PlatformException(error, Attempt to invoke virtual method 'java.io.File android.app.Activity.getExternalFilesDir(java.lang.String)' on a null object reference, null))

Android starts wrong intent the first time trying to save

In the ImagePickerDelegate the same request code is used for requesting the WRITE_EXTERNAL_STORAGE permission in the chooseImageFromGallery() and saveImageToGallery() methods.
This causes a bug that the chooseImageFromGallery flow is resumed when the permission is granted in the saveImageToGallery flow.
I fixed it with a separate request code for both flows.

Here is the fixed version of the ImagePickerDelegate:

// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

package io.flutter.plugins.imagepickersaver;

import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.provider.MediaStore;
import androidx.annotation.VisibleForTesting;
import androidx.core.app.ActivityCompat;
import androidx.core.content.FileProvider;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.UUID;

import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.PluginRegistry;

/**
 * A delegate class doing the heavy lifting for the plugin.
 * <p>
 * <p>When invoked, both the {@link #chooseImageFromGallery} and {@link #takeImageWithCamera}
 * methods go through the same steps:
 * <p>
 * <p>1. Check for an existing {@link #pendingResult}. If a previous pendingResult exists, this
 * means that the chooseImageFromGallery() or takeImageWithCamera() method was called at least
 * twice. In this case, stop executing and finish with an error.
 * <p>
 * <p>2. Check that a required runtime permission has been granted. The chooseImageFromGallery()
 * method checks if the {@link Manifest.permission#READ_EXTERNAL_STORAGE} permission has been
 * granted. Similarly, the takeImageWithCamera() method checks that {@link
 * Manifest.permission#CAMERA} has been granted.
 * <p>
 * <p>The permission check can end up in two different outcomes:
 * <p>
 * <p>A) If the permission has already been granted, continue with picking the image from gallery or
 * camera.
 * <p>
 * <p>B) If the permission hasn't already been granted, ask for the permission from the user. If the
 * user grants the permission, proceed with step #3. If the user denies the permission, stop doing
 * anything else and finish with a null result.
 * <p>
 * <p>3. Launch the gallery or camera for picking the image, depending on whether
 * chooseImageFromGallery() or takeImageWithCamera() was called.
 * <p>
 * <p>This can end up in three different outcomes:
 * <p>
 * <p>A) User picks an image. No maxWidth or maxHeight was specified when calling {@code
 * pickImage()} method in the Dart side of this plugin. Finish with full path for the picked image
 * as the result.
 * <p>
 * <p>B) User picks an image. A maxWidth and/or maxHeight was provided when calling {@code
 * pickImage()} method in the Dart side of this plugin. A scaled copy of the image is created.
 * Finish with full path for the scaled image as the result.
 * <p>
 * <p>C) User cancels picking an image. Finish with null result.
 */
public class ImagePickerDelegate
        implements PluginRegistry.ActivityResultListener,
        PluginRegistry.RequestPermissionsResultListener {

    @VisibleForTesting
    static final int REQUEST_CODE_CHOOSE_IMAGE_FROM_GALLERY = 2342;
    @VisibleForTesting
    static final int REQUEST_CODE_TAKE_IMAGE_WITH_CAMERA = 2343;
    @VisibleForTesting
    static final int REQUEST_EXTERNAL_IMAGE_STORAGE_PERMISSION = 2344;
    @VisibleForTesting
    static final int REQUEST_CAMERA_IMAGE_PERMISSION = 2345;
    @VisibleForTesting
    static final int REQUEST_CODE_CHOOSE_VIDEO_FROM_GALLERY = 2352;
    @VisibleForTesting
    static final int REQUEST_CODE_TAKE_VIDEO_WITH_CAMERA = 2353;
    @VisibleForTesting
    static final int REQUEST_EXTERNAL_VIDEO_STORAGE_PERMISSION = 2354;
    @VisibleForTesting
    static final int REQUEST_CAMERA_VIDEO_PERMISSION = 2355;
    @VisibleForTesting
    static final int REQUEST_EXTERNAL_IMAGE_STORAGE_SAVE_PERMISSION = 2356;
    @VisibleForTesting final String fileProviderName;

    private final Activity activity;
    private final File externalFilesDirectory;
    private final ImageResizer imageResizer;
    private final PermissionManager permissionManager;
    private final IntentResolver intentResolver;
    private final FileUriResolver fileUriResolver;
    private final FileUtils fileUtils;

    interface PermissionManager {

        boolean isPermissionGranted(String permissionName);

        void askForPermission(String permissionName, int requestCode);
    }

    interface IntentResolver {

        boolean resolveActivity(Intent intent);
    }

    interface FileUriResolver {

        Uri resolveFileProviderUriForFile(String fileProviderName, File imageFile);

        void getFullImagePath(Uri imageUri, OnPathReadyListener listener);
    }

    interface OnPathReadyListener {

        void onPathReady(String path);
    }

    private Uri pendingCameraMediaUri;
    private MethodChannel.Result pendingResult;
    private MethodCall methodCall;

    public ImagePickerDelegate(
            final Activity activity, File externalFilesDirectory, ImageResizer imageResizer) {
        this(
                activity,
                externalFilesDirectory,
                imageResizer,
                null,
                null,
                new PermissionManager() {
                    @Override
                    public boolean isPermissionGranted(String permissionName) {
                        return ActivityCompat.checkSelfPermission(activity, permissionName)
                                == PackageManager.PERMISSION_GRANTED;
                    }

                    @Override
                    public void askForPermission(String permissionName, int requestCode) {
                        ActivityCompat.requestPermissions(activity, new String[]{permissionName}, requestCode);
                    }
                },
                new IntentResolver() {
                    @Override
                    public boolean resolveActivity(Intent intent) {
                        return intent.resolveActivity(activity.getPackageManager()) != null;
                    }
                },
                new FileUriResolver() {
                    @Override
                    public Uri resolveFileProviderUriForFile(String fileProviderName, File file) {
                        return FileProvider.getUriForFile(activity, fileProviderName, file);
                    }

                    @Override
                    public void getFullImagePath(final Uri imageUri, final OnPathReadyListener listener) {
                        MediaScannerConnection.scanFile(
                                activity,
                                new String[]{imageUri.getPath()},
                                null,
                                new MediaScannerConnection.OnScanCompletedListener() {
                                    @Override
                                    public void onScanCompleted(String path, Uri uri) {
                                        listener.onPathReady(path);
                                    }
                                });
                    }
                },
                new FileUtils());

    }

    /**
     * This constructor is used exclusively for testing; it can be used to provide mocks to final
     * fields of this class. Otherwise those fields would have to be mutable and visible.
     */
    @VisibleForTesting
    ImagePickerDelegate(
            Activity activity,
            File externalFilesDirectory,
            ImageResizer imageResizer,
            MethodChannel.Result result,
            MethodCall methodCall,
            PermissionManager permissionManager,
            IntentResolver intentResolver,
            FileUriResolver fileUriResolver,
            FileUtils fileUtils) {
        this.activity = activity;
        this.externalFilesDirectory = externalFilesDirectory;
        this.imageResizer = imageResizer;
        this.fileProviderName = activity.getPackageName() + ".flutter.image_provider";
        this.pendingResult = result;
        this.methodCall = methodCall;
        this.permissionManager = permissionManager;
        this.intentResolver = intentResolver;
        this.fileUriResolver = fileUriResolver;
        this.fileUtils = fileUtils;
    }

    public void chooseVideoFromGallery(MethodCall methodCall, MethodChannel.Result result) {
        if (!setPendingMethodCallAndResult(methodCall, result)) {
            finishWithAlreadyActiveError();
            return;
        }

        if (!permissionManager.isPermissionGranted(Manifest.permission.READ_EXTERNAL_STORAGE)) {
            permissionManager.askForPermission(
                    Manifest.permission.READ_EXTERNAL_STORAGE, REQUEST_EXTERNAL_VIDEO_STORAGE_PERMISSION);
            return;
        }

        launchPickVideoFromGalleryIntent();
    }

    private void launchPickVideoFromGalleryIntent() {
        Intent pickVideoIntent = new Intent(Intent.ACTION_GET_CONTENT);
        pickVideoIntent.setType("video/*");

        activity.startActivityForResult(pickVideoIntent, REQUEST_CODE_CHOOSE_VIDEO_FROM_GALLERY);
    }

    public void takeVideoWithCamera(MethodCall methodCall, MethodChannel.Result result) {
        if (!setPendingMethodCallAndResult(methodCall, result)) {
            finishWithAlreadyActiveError();
            return;
        }

        if (!permissionManager.isPermissionGranted(Manifest.permission.CAMERA)) {
            permissionManager.askForPermission(
                    Manifest.permission.CAMERA, REQUEST_CAMERA_VIDEO_PERMISSION);
            return;
        }

        launchTakeVideoWithCameraIntent();
    }

    private void launchTakeVideoWithCameraIntent() {
        Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
        boolean canTakePhotos = intentResolver.resolveActivity(intent);

        if (!canTakePhotos) {
            finishWithError("no_available_camera", "No cameras available for taking pictures.");
            return;
        }

        File videoFile = createTemporaryWritableVideoFile();
        pendingCameraMediaUri = Uri.parse("file:" + videoFile.getAbsolutePath());

        Uri videoUri = fileUriResolver.resolveFileProviderUriForFile(fileProviderName, videoFile);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, videoUri);
        grantUriPermissions(intent, videoUri);

        activity.startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO_WITH_CAMERA);
    }

    public void chooseImageFromGallery(MethodCall methodCall, MethodChannel.Result result) {
        if (!setPendingMethodCallAndResult(methodCall, result)) {
            finishWithAlreadyActiveError();
            return;
        }

        if (!permissionManager.isPermissionGranted(Manifest.permission.READ_EXTERNAL_STORAGE)) {
            permissionManager.askForPermission(
                    Manifest.permission.READ_EXTERNAL_STORAGE, REQUEST_EXTERNAL_IMAGE_STORAGE_PERMISSION);
            return;
        }

        launchPickImageFromGalleryIntent();
    }

    public void saveImageToGallery(MethodCall methodCall, MethodChannel.Result result) throws IOException {
        if (!setPendingMethodCallAndResult(methodCall, result)) {
            finishWithAlreadyActiveError();
            return;
        }

        if (!permissionManager.isPermissionGranted(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
            permissionManager.askForPermission(
                    Manifest.permission.WRITE_EXTERNAL_STORAGE, REQUEST_EXTERNAL_IMAGE_STORAGE_SAVE_PERMISSION);
            return;
        }
        saveImageFile();
    }

    private void saveImageFile() {
        byte[] fileData = methodCall.argument("fileData");

        //Bitmap bitmap = BitmapFactory.decodeByteArray(fileData, 0, fileData.length);

        String filePath = null;
        try {
            filePath = CapturePhotoUtils.insertImage(activity.getContentResolver(), fileData, "Camera", "123");
        } catch (IOException e) {
            e.printStackTrace();
        }

        finishWithSuccess(filePath);
    }

    private void launchPickImageFromGalleryIntent() {

        Intent pickImageIntent = new Intent(Intent.ACTION_GET_CONTENT);
        pickImageIntent.setType("image/*");

        activity.startActivityForResult(pickImageIntent, REQUEST_CODE_CHOOSE_IMAGE_FROM_GALLERY);
    }

    public void takeImageWithCamera(MethodCall methodCall, MethodChannel.Result result) {
        if (!setPendingMethodCallAndResult(methodCall, result)) {
            finishWithAlreadyActiveError();
            return;
        }

        if (!permissionManager.isPermissionGranted(Manifest.permission.CAMERA)) {
            permissionManager.askForPermission(
                    Manifest.permission.CAMERA, REQUEST_CAMERA_IMAGE_PERMISSION);
            return;
        }

        launchTakeImageWithCameraIntent();
    }

    private void launchTakeImageWithCameraIntent() {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        boolean canTakePhotos = intentResolver.resolveActivity(intent);

        if (!canTakePhotos) {
            finishWithError("no_available_camera", "No cameras available for taking pictures.");
            return;
        }

        File imageFile = createTemporaryWritableImageFile();
        pendingCameraMediaUri = Uri.parse("file:" + imageFile.getAbsolutePath());

        Uri imageUri = fileUriResolver.resolveFileProviderUriForFile(fileProviderName, imageFile);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
        grantUriPermissions(intent, imageUri);

        activity.startActivityForResult(intent, REQUEST_CODE_TAKE_IMAGE_WITH_CAMERA);
    }

    private File createTemporaryWritableImageFile() {
        return createTemporaryWritableFile(".jpg");
    }

    private File createTemporaryWritableVideoFile() {
        return createTemporaryWritableFile(".mp4");
    }

    private File createTemporaryWritableFile(String suffix) {
        String filename = UUID.randomUUID().toString();
        File image;

        try {
            image = File.createTempFile(filename, suffix, externalFilesDirectory);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        return image;
    }

    private void grantUriPermissions(Intent intent, Uri imageUri) {
        PackageManager packageManager = activity.getPackageManager();
        List<ResolveInfo> compatibleActivities =
                packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);

        for (ResolveInfo info : compatibleActivities) {
            activity.grantUriPermission(
                    info.activityInfo.packageName,
                    imageUri,
                    Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
        }
    }

    @Override
    public boolean onRequestPermissionsResult(
            int requestCode, String[] permissions, int[] grantResults) {
        boolean permissionGranted =
                grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED;

        switch (requestCode) {
            case REQUEST_EXTERNAL_IMAGE_STORAGE_PERMISSION:
                if (permissionGranted) {
                    launchPickImageFromGalleryIntent();
                }
                break;
            case REQUEST_EXTERNAL_VIDEO_STORAGE_PERMISSION:
                if (permissionGranted) {
                    launchPickVideoFromGalleryIntent();
                }
                break;
            case REQUEST_CAMERA_IMAGE_PERMISSION:
                if (permissionGranted) {
                    launchTakeImageWithCameraIntent();
                }
                break;
            case REQUEST_CAMERA_VIDEO_PERMISSION:
                if (permissionGranted) {
                    launchTakeVideoWithCameraIntent();
                }
                break;
            case REQUEST_EXTERNAL_IMAGE_STORAGE_SAVE_PERMISSION:
                if (permissionGranted) {
                    saveImageFile();
                }
                break;
            default:
                return false;
        }

        if (!permissionGranted) {
            finishWithSuccess(null);
        }

        return true;
    }

    @Override
    public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode) {
            case REQUEST_CODE_CHOOSE_IMAGE_FROM_GALLERY:
                handleChooseImageResult(resultCode, data);
                break;
            case REQUEST_CODE_TAKE_IMAGE_WITH_CAMERA:
                handleCaptureImageResult(resultCode);
                break;
            case REQUEST_CODE_CHOOSE_VIDEO_FROM_GALLERY:
                handleChooseVideoResult(resultCode, data);
                break;
            case REQUEST_CODE_TAKE_VIDEO_WITH_CAMERA:
                handleCaptureVideoResult(resultCode);
                break;
            default:
                return false;
        }

        return true;
    }

    private void handleChooseImageResult(int resultCode, Intent data) {
        if (resultCode == Activity.RESULT_OK && data != null) {
            String path = fileUtils.getPathFromUri(activity, data.getData());
            handleImageResult(path);
            return;
        }

        // User cancelled choosing a picture.
        finishWithSuccess(null);
    }

    private void handleChooseVideoResult(int resultCode, Intent data) {
        if (resultCode == Activity.RESULT_OK && data != null) {
            String path = fileUtils.getPathFromUri(activity, data.getData());
            handleVideoResult(path);
            return;
        }

        // User cancelled choosing a picture.
        finishWithSuccess(null);
    }

    private void handleCaptureImageResult(int resultCode) {
        if (resultCode == Activity.RESULT_OK) {
            fileUriResolver.getFullImagePath(
                    pendingCameraMediaUri,
                    new OnPathReadyListener() {
                        @Override
                        public void onPathReady(String path) {
                            handleImageResult(path);
                        }
                    });
            return;
        }

        // User cancelled taking a picture.
        finishWithSuccess(null);
    }

    private void handleCaptureVideoResult(int resultCode) {
        if (resultCode == Activity.RESULT_OK) {
            fileUriResolver.getFullImagePath(
                    pendingCameraMediaUri,
                    new OnPathReadyListener() {
                        @Override
                        public void onPathReady(String path) {
                            handleVideoResult(path);
                        }
                    });
            return;
        }

        // User cancelled taking a picture.
        finishWithSuccess(null);
    }

    private void handleImageResult(String path) {
        if (pendingResult != null) {
            Double maxWidth = methodCall.argument("maxWidth");
            Double maxHeight = methodCall.argument("maxHeight");

            String finalImagePath = imageResizer.resizeImageIfNeeded(path, maxWidth, maxHeight);
            finishWithSuccess(finalImagePath);
        } else {
            throw new IllegalStateException("Received image from picker that was not requested");
        }
    }

    private void handleVideoResult(String path) {
        if (pendingResult != null) {
            finishWithSuccess(path);
        } else {
            throw new IllegalStateException("Received video from picker that was not requested");
        }
    }

    private boolean setPendingMethodCallAndResult(
            MethodCall methodCall, MethodChannel.Result result) {
        if (pendingResult != null) {
            return false;
        }

        this.methodCall = methodCall;
        pendingResult = result;
        return true;
    }

    private void finishWithSuccess(String imagePath) {
        pendingResult.success(imagePath);
        clearMethodCallAndResult();
    }

    private void finishWithAlreadyActiveError() {
        finishWithError("already_active", "Image picker is already active");
    }

    private void finishWithError(String errorCode, String errorMessage) {
        pendingResult.error(errorCode, errorMessage, null);
        clearMethodCallAndResult();
    }

    private void clearMethodCallAndResult() {
        methodCall = null;
        pendingResult = null;
    }
}

Save image file

screenshot 2019-01-31 at 7 33 04 pm

I get this response on my logs
screenshot 2019-01-31 at 7 34 40 pm

Flutter version is v0.11.10

animated gif dosen't move after download

var response = await http.get('https://media2.giphy.com/media/buwxdL6bzFcyc/giphy.gif?cid=ecf05e475d3646a7544b573755d256d6&rid=giphy.gif');
var filePath = await ImagePickerSaver.saveFile(
      fileData: response.bodyBytes);

image download is ok. but when i look image in gallery, It dosen't move.

java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)'

I/flutter (22005): _onImageSaveButtonPressed http://192.168.0.113:8081/media/uploads/ideaspace/IMG-20190207-WA0014.jpg
I/flutter (22005): 200
D/DecorView(22005): onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@168be4a[MainActivity]
D/AndroidRuntime(22005): Shutting down VM
E/AndroidRuntime(22005): FATAL EXCEPTION: main
E/AndroidRuntime(22005): Process: com.coromandel.ideaspace, PID: 22005
E/AndroidRuntime(22005): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2342, result=0, data=null} to activity {com.coromandel.ideaspace/com.coromandel.ideaspace.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference
E/AndroidRuntime(22005): at android.app.ActivityThread.deliverResults(ActivityThread.java:4496)
E/AndroidRuntime(22005): at android.app.ActivityThread.handleSendResult(ActivityThread.java:4538)
E/AndroidRuntime(22005): at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
E/AndroidRuntime(22005): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
E/AndroidRuntime(22005): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
E/AndroidRuntime(22005): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1906)
E/AndroidRuntime(22005): at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(22005): at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime(22005): at android.app.ActivityThread.main(ActivityThread.java:6863)
E/AndroidRuntime(22005): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(22005): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
E/AndroidRuntime(22005): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/AndroidRuntime(22005): Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference
E/AndroidRuntime(22005): at io.flutter.plugins.imagepicker.ImagePickerDelegate.finishWithSuccess(ImagePickerDelegate.java:481)
E/AndroidRuntime(22005): at io.flutter.plugins.imagepicker.ImagePickerDelegate.handleChooseImageResult(ImagePickerDelegate.java:401)
E/AndroidRuntime(22005): at io.flutter.plugins.imagepicker.ImagePickerDelegate.onActivityResult(ImagePickerDelegate.java:375)
E/AndroidRuntime(22005): at io.flutter.app.FlutterPluginRegistry.onActivityResult(FlutterPluginRegistry.java:210)
E/AndroidRuntime(22005): at io.flutter.app.FlutterActivityDelegate.onActivityResult(FlutterActivityDelegate.java:139)
E/AndroidRuntime(22005): at io.flutter.app.FlutterActivity.onActivityResult(FlutterActivity.java:138)
E/AndroidRuntime(22005): at android.app.Activity.dispatchActivityResult(Activity.java:7476)
E/AndroidRuntime(22005): at android.app.ActivityThread.deliverResults(ActivityThread.java:4489)
E/AndroidRuntime(22005): ... 11 more
D/OSTracker(22005): OS Event: crash
I/Process (22005): Sending signal. PID: 22005 SIG: 9
Lost connection to device.

Unhandled Exception: Invalid argument(s)

[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Invalid argument(s) E/flutter (18097): #0 _StringBase.+ (dart:core-patch/string_patch.dart:260:57) E/flutter (18097): #1 ImagePickerSaver.saveFile (package:image_picker_saver/image_picker_saver.dart:85:34)

Am using the permission storage in AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

But the application doesn't ask me for the permission

Remove image_picker code

First, thanks for your code. I have a question about your code duplication from the good existing plugin.
Why do you need to keep the copy of the code from the image_picker plugin? You need to update it all the time.
Is it possible to leave only the saving feature in your plugin? People can use the existing plugin and extend its functionality with your plugin.
Thanks

Loosing device connection as soon as camera activity starts.

Excepted Result : should not loose device connection.

Actual Result: loosing device connection as soon as camera activity starts.

Device: Xiaomi Redme Y2,

Camera Activity Code:
image = ImagePicker.pickImage( source: ImageSource.camera); setState(() { image = image; });
[ +30 ms] executing: [C:\flutter] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +68 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +1 ms] 0b8abb4724aa590dd0f429683339b1e045a1594d
[ +6 ms] executing: [C:\flutter] git describe --match v*.. --first-parent --long --tags
[ +49 ms] Exit code 0 from: git describe --match v*.. --first-parent --long --tags
[ +1 ms] v1.12.13+hotfix.8-0-g0b8abb472
[ +9 ms] executing: [C:\flutter] git rev-parse --abbrev-ref --symbolic @{u}
[ +49 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[ ] origin/stable
[ ] executing: [C:\flutter] git ls-remote --get-url origin
[ +36 ms] Exit code 0 from: git ls-remote --get-url origin
[ ] https://github.com/flutter/flutter.git
[ +85 ms] executing: [C:\flutter] git rev-parse --abbrev-ref HEAD
[ +38 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[ ] stable
[ +130 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe devices -l
[ +27 ms] Exit code 0 from: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe devices -l
[ +5 ms] List of devices attached
12c7f04 device product:ysl model:Redmi_Y2 device:ysl transport_id:1
[ +24 ms] C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 12c7f04 shell getprop
[ +119 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[ +6 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ +6 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +53 ms] Found plugin flutter_plugin_android_lifecycle at
C:\flutter.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.6
[ +23 ms] Found plugin image_picker at C:\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.6.4
[ +25 ms] Found plugin shared_preferences at C:\flutter.pub-cache\hosted\pub.dartlang.org\shared_preferences-0.5.6+3
[ +3 ms] Found plugin shared_preferences_macos at C:\flutter.pub-cache\hosted\pub.dartlang.org\shared_preferences_macos-0.0.1+6
[ +15 ms] Found plugin shared_preferences_web at C:\flutter.pub-cache\hosted\pub.dartlang.org\shared_preferences_web-0.1.2+4
[ +120 ms] Found plugin flutter_plugin_android_lifecycle at
C:\flutter.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.6
[ +13 ms] Found plugin image_picker at C:\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.6.4
[ +12 ms] Found plugin shared_preferences at C:\flutter.pub-cache\hosted\pub.dartlang.org\shared_preferences-0.5.6+3
[ +2 ms] Found plugin shared_preferences_macos at C:\flutter.pub-cache\hosted\pub.dartlang.org\shared_preferences_macos-0.0.1+6
[ +3 ms] Found plugin shared_preferences_web at C:\flutter.pub-cache\hosted\pub.dartlang.org\shared_preferences_web-0.1.2+4
[ +71 ms] Generating F:\flutter project\flutter
project\labhesh_app\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[ +56 ms] ro.hardware = qcom
[ +60 ms] Launching lib\main.dart on Redmi Y2 in debug mode...
[ +9 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\build-tools\29.0.3\aapt dump xmltree F:\flutter project\flutter
project\labhesh_app\build\app\outputs\apk\app.apk AndroidManifest.xml
[ +29 ms] Exit code 0 from: C:\Users\sonu\AppData\Local\Android\Sdk\build-tools\29.0.3\aapt dump xmltree F:\flutter project\flutter
project\labhesh_app\build\app\outputs\apk\app.apk AndroidManifest.xml
[ +3 ms] N: android=http://schemas.android.com/apk/res/android
E: manifest (line=2)
A: android:versionCode(0x0101021b)=(type 0x10)0x1
A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1c
A: android:compileSdkVersionCodename(0x01010573)="9" (Raw: "9")
A: package="com.example.labhesh_app" (Raw: "com.example.labhesh_app")
A: platformBuildVersionCode=(type 0x10)0x1c
A: platformBuildVersionName=(type 0x10)0x9
E: uses-sdk (line=7)
A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1c
E: uses-permission (line=14)
A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
E: uses-permission (line=15)
A: android:name(0x01010003)="android.permission.CAMERA" (Raw: "android.permission.CAMERA")
E: uses-permission (line=16)
A: android:name(0x01010003)="android.permission.READ_EXTERNAL_STORAGE" (Raw: "android.permission.READ_EXTERNAL_STORAGE") E: uses-permission (line=17)
A: android:name(0x01010003)="android.permission.WRITE_EXTERNAL_STORAGE" (Raw:
"android.permission.WRITE_EXTERNAL_STORAGE")
E: application (line=25)
A: android:label(0x01010001)="labhesh_app" (Raw: "labhesh_app")
A: android:icon(0x01010002)=@0x7f080000
A: android:name(0x01010003)="io.flutter.app.FlutterApplication" (Raw: "io.flutter.app.FlutterApplication")
A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw:
"androidx.core.app.CoreComponentFactory")
E: activity (line=31)
A: android:theme(0x01010000)=@0x7f0a0000
A: android:name(0x01010003)="com.example.labhesh_app.MainActivity" (Raw: "com.example.labhesh_app.MainActivity")
A: android:launchMode(0x0101001d)=(type 0x10)0x1
A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
E: intent-filter (line=38)
E: action (line=39)
A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
E: category (line=41)
A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
E: meta-data (line=48)
A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
A: android:value(0x01010024)=(type 0x10)0x2
E: provider (line=52)
A: android:name(0x01010003)="io.flutter.plugins.imagepicker.ImagePickerFileProvider" (Raw:
"io.flutter.plugins.imagepicker.ImagePickerFileProvider")
A: android:exported(0x01010010)=(type 0x12)0x0
A: android:authorities(0x01010018)="com.example.labhesh_app.flutter.image_provider" (Raw:
"com.example.labhesh_app.flutter.image_provider")
A: android:grantUriPermissions(0x0101001b)=(type 0x12)0xffffffff
E: meta-data (line=57)
A: android:name(0x01010003)="android.support.FILE_PROVIDER_PATHS" (Raw: "android.support.FILE_PROVIDER_PATHS")
A: android:resource(0x01010025)=@0x7f0c0000
[ +27 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 12c7f04 shell -x logcat -v time -t 1
[ +247 ms] Exit code 0 from: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 12c7f04 shell -x logcat -v time -t 1
[ +1 ms] --------- beginning of main
03-31 16:12:32.647 I/ConfigStore( 776): android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay
retrieved: 0
[ +20 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe version
[ +2 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 12c7f04 logcat -v time -T 03-31 16:12:32.647
[ +44 ms] Android Debug Bridge version 1.0.41
Version 29.0.6-6198805
Installed as C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe
[ +4 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe start-server
[ +39 ms] Building APK
[ +21 ms] Running Gradle task 'assembleDebug'...
[ +2 ms] gradle.properties already sets android.enableR8
[ +5 ms] Using gradle from F:\flutter project\flutter project\labhesh_app\android\gradlew.bat.
[ +27 ms] executing: C:\Program Files\Android\Android Studio\jre\bin\java -version
[ +102 ms] Exit code 0 from: C:\Program Files\Android\Android Studio\jre\bin\java -version
[ +1 ms] openjdk version "1.8.0_152-release"
OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
OpenJDK 64-Bit Server VM (build 25.152-b01, mixed mode)
[ +4 ms] executing: [F:\flutter project\flutter project\labhesh_app\android] F:\flutter project\flutter
project\labhesh_app\android\gradlew.bat -Pverbose=true -Ptarget=F:\flutter project\flutter project\labhesh_app\lib\main.dart
-Ptrack-widget-creation=true -Pfilesystem-scheme=org-dartlang-root -Ptarget-platform=android-arm assembleDebug
[+19980 ms] > Task :app:compileFlutterBuildDebug
[ +55 ms] [ +30 ms] executing: [C:\flutter] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +23 ms] [ +80 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[ ] [ ] 0b8abb4724aa590dd0f429683339b1e045a1594d
[ ] [ ] executing: [C:\flutter] git describe --match v*.. --first-parent --long --tags
[ +91 ms] [ +54 ms] Exit code 0 from: git describe --match v*.. --first-parent --long --tags
[ ] [ ] v1.12.13+hotfix.8-0-g0b8abb472
[ ] [ +9 ms] executing: [C:\flutter] git rev-parse --abbrev-ref --symbolic @{u}
[ ] [ +37 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[ ] [ ] origin/stable
[ ] [ ] executing: [C:\flutter] git ls-remote --get-url origin
[ +99 ms] [ +35 ms] Exit code 0 from: git ls-remote --get-url origin
[ +18 ms] [ ] https://github.com/flutter/flutter.git
[ ] [ +85 ms] executing: [C:\flutter] git rev-parse --abbrev-ref HEAD
[ +78 ms] [ +37 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[ ] [ ] stable
[ ] [ +26 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ +3 ms] [ +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ +1 ms] [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +88 ms] [ +115 ms] Initializing file store
[ +1 ms] [ +22 ms] Done initializing file store
[+1697 ms] [+1621 ms] Skipping target: kernel_snapshot
[ +1 ms] [ +8 ms] invalidated build due to missing files: F:\flutter, project\flutter, project\labhesh_app\pubspec.yaml,
project\labhesh_app\assets\images\background.jpg, project\labhesh_app\assets\images\farmer.png,
project\labhesh_app\assets\images\farmer1.jpg, project\labhesh_app\assets\images\logo.png,
project\labhesh_app\assets\fonts\Raleway\Raleway-Regular.ttf, project\labhesh_app\assets\fonts\Muli\Muli-Regular.ttf
[ +29 ms] [ +47 ms] debug_android_application: Starting due to {InvalidatedReason.outputMissing, InvalidatedReason.inputMissing}
[ +268 ms] [ +238 ms] debug_android_application: Complete
[ +1 ms] [ +7 ms] Persisting file store
[ ] [ +20 ms] Done persisting file store
[ +23 ms] [ +4 ms] build succeeded.
[ +9 ms] [ +19 ms] "flutter assemble" took 2,172ms.
[ +73 ms] > Task :app:packLibsflutterBuildDebug UP-TO-DATE
[ +18 ms] > Task :app:preBuild UP-TO-DATE
[ +2 ms] > Task :app:preDebugBuild UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:preBuild UP-TO-DATE
[ +2 ms] > Task :flutter_plugin_android_lifecycle:preDebugBuild UP-TO-DATE
[ ] > Task :image_picker:preBuild UP-TO-DATE
[ +66 ms] > Task :image_picker:preDebugBuild UP-TO-DATE
[ +1 ms] > Task :shared_preferences:preBuild UP-TO-DATE
[ +1 ms] > Task :shared_preferences:preDebugBuild UP-TO-DATE
[ +22 ms] > Task :shared_preferences_macos:preBuild UP-TO-DATE
[ ] > Task :shared_preferences_macos:preDebugBuild UP-TO-DATE
[ +1 ms] > Task :shared_preferences_macos:compileDebugAidl NO-SOURCE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:compileDebugAidl NO-SOURCE
[ +1 ms] > Task :image_picker:compileDebugAidl NO-SOURCE
[ ] > Task :shared_preferences_web:preBuild UP-TO-DATE
[ ] > Task :shared_preferences_web:preDebugBuild UP-TO-DATE
[ ] > Task :shared_preferences_web:compileDebugAidl NO-SOURCE
[ ] > Task :shared_preferences:compileDebugAidl NO-SOURCE
[ ] > Task :app:compileDebugAidl NO-SOURCE
[ ] > Task :flutter_plugin_android_lifecycle:packageDebugRenderscript NO-SOURCE
[ +21 ms] > Task :image_picker:packageDebugRenderscript NO-SOURCE
[ +1 ms] > Task :shared_preferences:packageDebugRenderscript NO-SOURCE
[ ] > Task :shared_preferences_macos:packageDebugRenderscript NO-SOURCE
[ ] > Task :shared_preferences_web:packageDebugRenderscript NO-SOURCE
[ ] > Task :app:compileDebugRenderscript NO-SOURCE
[ ] > Task :app:checkDebugManifest UP-TO-DATE
[ ] > Task :app:generateDebugBuildConfig UP-TO-DATE
[ ] > Task :app:cleanMergeDebugAssets
[ ] > Task :app:mergeDebugShaders UP-TO-DATE
[ ] > Task :app:compileDebugShaders UP-TO-DATE
[ ] > Task :app:generateDebugAssets UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:mergeDebugShaders UP-TO-DATE
[ +33 ms] > Task :flutter_plugin_android_lifecycle:compileDebugShaders UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:generateDebugAssets UP-TO-DATE
[ +3 ms] > Task :flutter_plugin_android_lifecycle:packageDebugAssets UP-TO-DATE
[ +19 ms] > Task :image_picker:mergeDebugShaders UP-TO-DATE
[ +1 ms] > Task :image_picker:compileDebugShaders UP-TO-DATE
[ ] > Task :image_picker:generateDebugAssets UP-TO-DATE
[ ] > Task :image_picker:packageDebugAssets UP-TO-DATE
[ ] > Task :shared_preferences:mergeDebugShaders UP-TO-DATE
[ ] > Task :shared_preferences:compileDebugShaders UP-TO-DATE
[ ] > Task :shared_preferences:generateDebugAssets UP-TO-DATE
[ ] > Task :shared_preferences:packageDebugAssets UP-TO-DATE
[ ] > Task :shared_preferences_macos:mergeDebugShaders UP-TO-DATE
[ ] > Task :shared_preferences_macos:compileDebugShaders UP-TO-DATE
[ ] > Task :shared_preferences_macos:generateDebugAssets UP-TO-DATE
[ +1 ms] > Task :shared_preferences_macos:packageDebugAssets UP-TO-DATE
[ ] > Task :shared_preferences_web:mergeDebugShaders UP-TO-DATE
[ ] > Task :shared_preferences_web:compileDebugShaders UP-TO-DATE
[ ] > Task :shared_preferences_web:generateDebugAssets UP-TO-DATE
[ ] > Task :shared_preferences_web:packageDebugAssets UP-TO-DATE
[ ] > Task :app:mergeDebugAssets
[ +168 ms] > Task :app:copyFlutterAssetsDebug
[ +3 ms] > Task :app:mainApkListPersistenceDebug UP-TO-DATE
[ +1 ms] > Task :app:generateDebugResValues UP-TO-DATE
[ +19 ms] > Task :app:generateDebugResources UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:generateDebugResValues UP-TO-DATE
[ ] > Task :image_picker:compileDebugRenderscript NO-SOURCE
[ ] > Task :image_picker:generateDebugResValues UP-TO-DATE
[ ] > Task :image_picker:generateDebugResources UP-TO-DATE
[ +66 ms] > Task :image_picker:packageDebugResources UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:compileDebugRenderscript NO-SOURCE
[ ] > Task :flutter_plugin_android_lifecycle:generateDebugResources UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:packageDebugResources UP-TO-DATE
[ ] > Task :shared_preferences:compileDebugRenderscript NO-SOURCE
[ +1 ms] > Task :shared_preferences:generateDebugResValues UP-TO-DATE
[ +30 ms] > Task :shared_preferences:generateDebugResources UP-TO-DATE
[ +43 ms] > Task :shared_preferences:packageDebugResources UP-TO-DATE
[ ] > Task :shared_preferences_macos:generateDebugResValues UP-TO-DATE
[ +1 ms] > Task :shared_preferences_macos:compileDebugRenderscript NO-SOURCE
[ ] > Task :shared_preferences_macos:generateDebugResources UP-TO-DATE
[ ] > Task :shared_preferences_macos:packageDebugResources UP-TO-DATE
[ ] > Task :shared_preferences_web:generateDebugResValues UP-TO-DATE
[ +1 ms] > Task :shared_preferences_web:compileDebugRenderscript NO-SOURCE
[ ] > Task :shared_preferences_web:generateDebugResources UP-TO-DATE
[ +1 ms] > Task :shared_preferences_web:packageDebugResources UP-TO-DATE
[ +112 ms] > Task :app:mergeDebugResources UP-TO-DATE
[ +21 ms] > Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
[ +4 ms] > Task :flutter_plugin_android_lifecycle:checkDebugManifest UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:processDebugManifest UP-TO-DATE
[ ] > Task :image_picker:checkDebugManifest UP-TO-DATE
[ ] > Task :image_picker:processDebugManifest UP-TO-DATE
[ +1 ms] > Task :shared_preferences:checkDebugManifest UP-TO-DATE
[ +73 ms] > Task :shared_preferences:processDebugManifest UP-TO-DATE
[ +35 ms] > Task :shared_preferences_macos:checkDebugManifest UP-TO-DATE
[ +23 ms] > Task :shared_preferences_macos:processDebugManifest UP-TO-DATE
[ +1 ms] > Task :shared_preferences_web:checkDebugManifest UP-TO-DATE
[ ] > Task :shared_preferences_web:processDebugManifest UP-TO-DATE
[ ] > Task :app:processDebugManifest UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:parseDebugLibraryResources UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:generateDebugRFile UP-TO-DATE
[ ] > Task :image_picker:parseDebugLibraryResources UP-TO-DATE
[ ] > Task :image_picker:generateDebugRFile UP-TO-DATE
[ ] > Task :shared_preferences:parseDebugLibraryResources UP-TO-DATE
[ ] > Task :shared_preferences_macos:parseDebugLibraryResources UP-TO-DATE
[ ] > Task :shared_preferences_macos:generateDebugRFile UP-TO-DATE
[ ] > Task :shared_preferences_web:parseDebugLibraryResources UP-TO-DATE
[ +2 ms] > Task :shared_preferences_web:generateDebugRFile UP-TO-DATE
[ +41 ms] > Task :shared_preferences:generateDebugRFile UP-TO-DATE
[ +1 ms] > Task :app:processDebugResources UP-TO-DATE
[ +5 ms] > Task :flutter_plugin_android_lifecycle:generateDebugBuildConfig UP-TO-DATE
[ +22 ms] > Task :flutter_plugin_android_lifecycle:javaPreCompileDebug UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:compileDebugJavaWithJavac UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:bundleLibCompileDebug UP-TO-DATE
[ +2 ms] > Task :image_picker:generateDebugBuildConfig UP-TO-DATE
[ +1 ms] > Task :image_picker:javaPreCompileDebug UP-TO-DATE
[ +29 ms] > Task :image_picker:compileDebugJavaWithJavac UP-TO-DATE
[ +1 ms] > Task :image_picker:bundleLibCompileDebug UP-TO-DATE
[ +1 ms] > Task :shared_preferences:generateDebugBuildConfig UP-TO-DATE
[ ] > Task :shared_preferences_macos:generateDebugBuildConfig UP-TO-DATE
[ +1 ms] > Task :shared_preferences_macos:javaPreCompileDebug UP-TO-DATE
[ ] > Task :shared_preferences_macos:compileDebugJavaWithJavac UP-TO-DATE
[ ] > Task :shared_preferences_macos:bundleLibCompileDebug UP-TO-DATE
[ ] > Task :shared_preferences_web:generateDebugBuildConfig UP-TO-DATE
[ ] > Task :shared_preferences_web:javaPreCompileDebug UP-TO-DATE
[ ] > Task :shared_preferences_web:compileDebugJavaWithJavac UP-TO-DATE
[ ] > Task :shared_preferences_web:bundleLibCompileDebug UP-TO-DATE
[ +20 ms] > Task :shared_preferences:javaPreCompileDebug UP-TO-DATE
[ +1 ms] > Task :shared_preferences:compileDebugJavaWithJavac UP-TO-DATE
[ ] > Task :shared_preferences:bundleLibCompileDebug UP-TO-DATE
[ ] > Task :app:compileDebugKotlin UP-TO-DATE
[ ] > Task :app:javaPreCompileDebug UP-TO-DATE
[ +1 ms] > Task :app:compileDebugJavaWithJavac UP-TO-DATE
[ ] > Task :app:compileDebugSources UP-TO-DATE
[ ] > Task :app:processDebugJavaRes NO-SOURCE
[ ] > Task :flutter_plugin_android_lifecycle:processDebugJavaRes NO-SOURCE
[ ] > Task :flutter_plugin_android_lifecycle:bundleLibResDebug UP-TO-DATE
[ ] > Task :image_picker:processDebugJavaRes NO-SOURCE
[ ] > Task :image_picker:bundleLibResDebug UP-TO-DATE
[ ] > Task :shared_preferences:processDebugJavaRes NO-SOURCE
[ ] > Task :shared_preferences:bundleLibResDebug UP-TO-DATE
[ ] > Task :shared_preferences_macos:processDebugJavaRes NO-SOURCE
[ ] > Task :shared_preferences_macos:bundleLibResDebug UP-TO-DATE
[ ] > Task :shared_preferences_web:processDebugJavaRes NO-SOURCE
[ ] > Task :shared_preferences_web:bundleLibResDebug UP-TO-DATE
[ ] > Task :app:mergeDebugJavaResource UP-TO-DATE
[ +4 ms] > Task :flutter_plugin_android_lifecycle:bundleLibRuntimeDebug UP-TO-DATE
[ +18 ms] > Task :flutter_plugin_android_lifecycle:createFullJarDebug UP-TO-DATE
[ +1 ms] > Task :image_picker:bundleLibRuntimeDebug UP-TO-DATE
[ ] > Task :image_picker:createFullJarDebug UP-TO-DATE
[ +1 ms] > Task :shared_preferences_macos:bundleLibRuntimeDebug UP-TO-DATE
[ +1 ms] > Task :shared_preferences_macos:createFullJarDebug UP-TO-DATE
[ ] > Task :shared_preferences_web:bundleLibRuntimeDebug UP-TO-DATE
[ ] > Task :shared_preferences_web:createFullJarDebug UP-TO-DATE
[ ] > Task :shared_preferences:bundleLibRuntimeDebug UP-TO-DATE
[ +1 ms] > Task :shared_preferences:createFullJarDebug UP-TO-DATE
[ ] > Task :app:checkDebugDuplicateClasses UP-TO-DATE
[ ] > Task :app:desugarDebugFileDependencies UP-TO-DATE
[ ] > Task :app:transformClassesWithDexBuilderForDebug UP-TO-DATE
[ +38 ms] > Task :app:mergeExtDexDebug UP-TO-DATE
[ +1 ms] > Task :app:mergeDexDebug UP-TO-DATE
[ ] > Task :app:validateSigningDebug UP-TO-DATE
[ ] > Task :app:signingConfigWriterDebug UP-TO-DATE
[ +1 ms] > Task :app:mergeDebugJniLibFolders UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:mergeDebugJniLibFolders UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:mergeDebugNativeLibs UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:stripDebugDebugSymbols UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[ +31 ms] > Task :image_picker:mergeDebugJniLibFolders UP-TO-DATE
[ ] > Task :image_picker:mergeDebugNativeLibs UP-TO-DATE
[ ] > Task :image_picker:stripDebugDebugSymbols UP-TO-DATE
[ ] > Task :image_picker:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[ ] > Task :shared_preferences:mergeDebugJniLibFolders UP-TO-DATE
[ ] > Task :shared_preferences:mergeDebugNativeLibs UP-TO-DATE
[ ] > Task :shared_preferences:stripDebugDebugSymbols UP-TO-DATE
[ ] > Task :shared_preferences:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[ ] > Task :shared_preferences_macos:mergeDebugJniLibFolders UP-TO-DATE
[ ] > Task :shared_preferences_macos:mergeDebugNativeLibs UP-TO-DATE
[ ] > Task :shared_preferences_macos:stripDebugDebugSymbols UP-TO-DATE
[ ] > Task :shared_preferences_macos:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[ +1 ms] > Task :shared_preferences_web:mergeDebugJniLibFolders UP-TO-DATE
[ ] > Task :shared_preferences_web:mergeDebugNativeLibs UP-TO-DATE
[ +1 ms] > Task :shared_preferences_web:stripDebugDebugSymbols UP-TO-DATE
[ ] > Task :shared_preferences_web:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[ ] > Task :app:mergeDebugNativeLibs UP-TO-DATE
[ ] > Task :app:stripDebugDebugSymbols UP-TO-DATE
[ +1 ms] Compatible side by side NDK version was not found.
[ ] > Task :app:packageDebug UP-TO-DATE
[ +1 ms] > Task :app:assembleDebug UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:extractDebugAnnotations UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:mergeDebugGeneratedProguardFiles UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:mergeDebugConsumerProguardFiles UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:prepareLintJarForPublish UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:mergeDebugJavaResource UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:bundleDebugAar UP-TO-DATE
[ ] > Task :flutter_plugin_android_lifecycle:compileDebugSources UP-TO-DATE
[ +1 ms] > Task :flutter_plugin_android_lifecycle:assembleDebug UP-TO-DATE
[ +1 ms] > Task :image_picker:extractDebugAnnotations UP-TO-DATE
[ ] > Task :image_picker:mergeDebugGeneratedProguardFiles UP-TO-DATE
[ ] > Task :image_picker:mergeDebugConsumerProguardFiles UP-TO-DATE
[ ] > Task :image_picker:prepareLintJarForPublish UP-TO-DATE
[ +1 ms] > Task :image_picker:mergeDebugJavaResource UP-TO-DATE
[ ] > Task :image_picker:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[ ] > Task :image_picker:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[ ] > Task :image_picker:bundleDebugAar UP-TO-DATE
[ ] > Task :image_picker:compileDebugSources UP-TO-DATE
[ ] > Task :image_picker:assembleDebug UP-TO-DATE
[ ] > Task :shared_preferences:extractDebugAnnotations UP-TO-DATE
[ ] > Task :shared_preferences:mergeDebugGeneratedProguardFiles UP-TO-DATE
[ ] > Task :shared_preferences:mergeDebugConsumerProguardFiles UP-TO-DATE
[ ] > Task :shared_preferences:prepareLintJarForPublish UP-TO-DATE
[ ] > Task :shared_preferences:mergeDebugJavaResource UP-TO-DATE
[ ] > Task :shared_preferences:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[ ] > Task :shared_preferences:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[ ] > Task :shared_preferences:bundleDebugAar UP-TO-DATE
[ ] > Task :shared_preferences:compileDebugSources UP-TO-DATE
[ ] > Task :shared_preferences:assembleDebug UP-TO-DATE
[ ] > Task :shared_preferences_macos:extractDebugAnnotations UP-TO-DATE
[ ] > Task :shared_preferences_macos:mergeDebugGeneratedProguardFiles UP-TO-DATE
[ +1 ms] > Task :shared_preferences_macos:mergeDebugConsumerProguardFiles UP-TO-DATE
[ ] > Task :shared_preferences_macos:prepareLintJarForPublish UP-TO-DATE
[ +1 ms] > Task :shared_preferences_macos:mergeDebugJavaResource UP-TO-DATE
[ ] > Task :shared_preferences_macos:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[ +22 ms] > Task :shared_preferences_macos:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[ +2 ms] > Task :shared_preferences_macos:bundleDebugAar UP-TO-DATE
[ +1 ms] > Task :shared_preferences_macos:compileDebugSources UP-TO-DATE
[ +1 ms] > Task :shared_preferences_macos:assembleDebug UP-TO-DATE
[ +1 ms] > Task :shared_preferences_web:extractDebugAnnotations UP-TO-DATE
[ ] > Task :shared_preferences_web:mergeDebugGeneratedProguardFiles UP-TO-DATE
[ ] > Task :shared_preferences_web:mergeDebugConsumerProguardFiles UP-TO-DATE
[ +1 ms] > Task :shared_preferences_web:prepareLintJarForPublish UP-TO-DATE
[ ] > Task :shared_preferences_web:mergeDebugJavaResource UP-TO-DATE
[ ] > Task :shared_preferences_web:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[ ] > Task :shared_preferences_web:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[ ] > Task :shared_preferences_web:bundleDebugAar UP-TO-DATE
[ ] > Task :shared_preferences_web:compileDebugSources UP-TO-DATE
[ ] > Task :shared_preferences_web:assembleDebug UP-TO-DATE
[ ] BUILD SUCCESSFUL in 23s
[ ] 170 actionable tasks: 4 executed, 166 up-to-date
[ +310 ms] Running Gradle task 'assembleDebug'... (completed in 24.2s)
[ +46 ms] calculateSha: LocalDirectory: 'F:\flutter project\flutter project\labhesh_app\build\app\outputs\apk'/app.apk
[ +96 ms] calculateSha: reading file took 77us
[ +816 ms] calculateSha: computing sha took 733us
[ +7 ms] √ Built build\app\outputs\apk\debug\app-debug.apk.
[ +5 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\build-tools\29.0.3\aapt dump xmltree F:\flutter project\flutter
project\labhesh_app\build\app\outputs\apk\app.apk AndroidManifest.xml
[ +35 ms] Exit code 0 from: C:\Users\sonu\AppData\Local\Android\Sdk\build-tools\29.0.3\aapt dump xmltree F:\flutter project\flutter
project\labhesh_app\build\app\outputs\apk\app.apk AndroidManifest.xml
[ +1 ms] N: android=http://schemas.android.com/apk/res/android
E: manifest (line=2)
A: android:versionCode(0x0101021b)=(type 0x10)0x1
A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1c
A: android:compileSdkVersionCodename(0x01010573)="9" (Raw: "9")
A: package="com.example.labhesh_app" (Raw: "com.example.labhesh_app")
A: platformBuildVersionCode=(type 0x10)0x1c
A: platformBuildVersionName=(type 0x10)0x9
E: uses-sdk (line=7)
A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1c
E: uses-permission (line=14)
A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
E: uses-permission (line=15)
A: android:name(0x01010003)="android.permission.CAMERA" (Raw: "android.permission.CAMERA")
E: uses-permission (line=16)
A: android:name(0x01010003)="android.permission.READ_EXTERNAL_STORAGE" (Raw: "android.permission.READ_EXTERNAL_STORAGE") E: uses-permission (line=17)
A: android:name(0x01010003)="android.permission.WRITE_EXTERNAL_STORAGE" (Raw:
"android.permission.WRITE_EXTERNAL_STORAGE")
E: application (line=25)
A: android:label(0x01010001)="labhesh_app" (Raw: "labhesh_app")
A: android:icon(0x01010002)=@0x7f080000
A: android:name(0x01010003)="io.flutter.app.FlutterApplication" (Raw: "io.flutter.app.FlutterApplication")
A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw:
"androidx.core.app.CoreComponentFactory")
E: activity (line=31)
A: android:theme(0x01010000)=@0x7f0a0000
A: android:name(0x01010003)="com.example.labhesh_app.MainActivity" (Raw: "com.example.labhesh_app.MainActivity")
A: android:launchMode(0x0101001d)=(type 0x10)0x1
A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
E: intent-filter (line=38)
E: action (line=39)
A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
E: category (line=41)
A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
E: meta-data (line=48)
A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
A: android:value(0x01010024)=(type 0x10)0x2
E: provider (line=52)
A: android:name(0x01010003)="io.flutter.plugins.imagepicker.ImagePickerFileProvider" (Raw:
"io.flutter.plugins.imagepicker.ImagePickerFileProvider")
A: android:exported(0x01010010)=(type 0x12)0x0
A: android:authorities(0x01010018)="com.example.labhesh_app.flutter.image_provider" (Raw:
"com.example.labhesh_app.flutter.image_provider")
A: android:grantUriPermissions(0x0101001b)=(type 0x12)0xffffffff
E: meta-data (line=57)
A: android:name(0x01010003)="android.support.FILE_PROVIDER_PATHS" (Raw: "android.support.FILE_PROVIDER_PATHS")
A: android:resource(0x01010025)=@0x7f0c0000
[ +81 ms] Stopping app 'app.apk' on Redmi Y2.
[ +1 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 12c7f04 shell am force-stop
com.example.labhesh_app
[ +168 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 12c7f04 shell pm list packages
com.example.labhesh_app
[ +121 ms] package:com.example.labhesh_app
[ +7 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 12c7f04 shell cat
/data/local/tmp/sky.com.example.labhesh_app.sha1
[ +72 ms] 16cffdc60f9e0148cd07fa6910dde5e7aa678c2f
[ +1 ms] Latest build already installed.
[ +1 ms] Redmi Y2 startApp
[ +2 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 12c7f04 shell am start -a
android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode
true --ez verify-entry-points true com.example.labhesh_app/com.example.labhesh_app.MainActivity
[ +100 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.labhesh_app/.MainActivity (has extras) }
[ +1 ms] Waiting for observatory port to be available...
[ +666 ms] D/FlutterActivity(13247): Using the launch theme as normal theme.
[ +5 ms] D/FlutterActivityAndFragmentDelegate(13247): Setting up FlutterEngine.
[ +26 ms] D/FlutterActivityAndFragmentDelegate(13247): No preferred FlutterEngine was provided. Creating a new FlutterEngine for this
FlutterFragment.
[ +496 ms] Observatory URL on device: http://127.0.0.1:48962/vDp-bYLTmgs=/
[ +5 ms] executing: C:\Users\sonu\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 12c7f04 forward tcp:0 tcp:48962
[ +3 ms] D/FlutterActivityAndFragmentDelegate(13247): Attaching FlutterEngine to the Activity that owns this Fragment.
[ +49 ms] 53127
[ +1 ms] Forwarded host port 53127 to device port 48962 for Observatory
[ +10 ms] Connecting to service protocol: http://127.0.0.1:53127/vDp-bYLTmgs=/
[ +45 ms] D/FlutterView(13247): Attaching to a FlutterEngine: io.flutter.embedding.engine.FlutterEngine@efc3988
[ +34 ms] D/FlutterActivityAndFragmentDelegate(13247): Executing Dart entrypoint: main, and sending initial route: /
[ +380 ms] Successfully connected to service protocol: http://127.0.0.1:53127/vDp-bYLTmgs=/
[ +9 ms] Sending to VM service: getVM({})
[ +18 ms] Result: {type: VM, name: vm, architectureBits: 32, hostCPU: Qualcomm Technologies, Inc MSM8953, operatingSystem: android,
targetCPU: arm, version: 2.7.0 (Fri Dec 6 16:26:51 2019 +0100) on "android_arm", _profilerMode: VM, _nativeZoneMemoryUsage: 0, pid: 1...
[ +22 ms] Sending to VM service: getIsolate({isolateId: isolates/1949944609224811})
[ +27 ms] Sending to VM service: _flutter.listViews({})
[ +24 ms] Result: {type: FlutterViewList, views: [{type: FlutterView, id: _flutterView/0xa4019190, isolate: {type: @isolate, fixedId:
true, id: isolates/1949944609224811, name: main.dart$main-1949944609224811, number: 1949944609224811}}]}
[ +7 ms] DevFS: Creating new filesystem on the device (null)
[ +1 ms] Sending to VM service: _createDevFS({fsName: labhesh_app})
[ +47 ms] Result: {type: Isolate, id: isolates/1949944609224811, name: main, number: 1949944609224811, _originNumber: 1949944609224811,
startTime: 1585651379796, _heaps: {new: {type: HeapSpace, name: new, vmName: Scavenger, collections: 1, avgCollectionPeriodMillis...
[ +71 ms] Result: {type: FileSystem, name: labhesh_app, uri:
file:///data/user/0/com.example.labhesh_app/code_cache/labhesh_appHAOTHW/labhesh_app/}
[ +2 ms] DevFS: Created new filesystem on the device
(file:///data/user/0/com.example.labhesh_app/code_cache/labhesh_appHAOTHW/labhesh_app/)
[ +3 ms] Updating assets
[ +119 ms] Syncing files to device Redmi Y2...
[ +2 ms] Scanning asset files
[ +5 ms] <- reset
[ ] Compiling dart to kernel with 0 updated files
[ +9 ms] C:\flutter\bin\cache\dart-sdk\bin\dart.exe C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot
--sdk-root C:\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --incremental --target=flutter
-Ddart.developer.causal_async_stacks=true --output-dill
C:\Users\sonu\AppData\Local\Temp\flutter_tool.5360ce3c-733c-11ea-b72d-7446a0b9aaf1\app.dill --packages F:\flutter project\flutter
project\labhesh_app.packages -Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instructions --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root
[ +17 ms] <- compile package:labhesh_app/main.dart
[ +200 ms] I/flutter (13247):
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiMjdlM2Y3NzdjMmZlNTQyNjEyODI3ODhmZTk2YmY3MWE0OTA0ZDQ2YTM1YTc3NDljNTY0ZDdjNTJjYzI4MjQ2MTdhNGFkOTJkYmE5OWI4ZjYiLCJpYXQiOjE1ODU2MjIzODksIm5iZiI6MTU4NTYyMjM4OSwiZXhwIjoxNjE3MTU4Mzg4LCJzdWIiOiIxMyIsInNjb3BlcyI6W119.1Q4mzrY6l_DT07XMdjEe3nUhXvw6ByEkjrHSNpObWKEqps55lKMMpj9Ss_yE0oFjdn_ytteOJi3WDArob8t07_qzvaKVhsVrMEajFAgo_SaaEckMfq1ij7PmaKsZqasf99gcTwKUqvMY2U3_P_zjiXlqn14sBu9ug8X2O2oZ8F7rugIQOBa74kIlAmG1pi5yMm-H7fXvJ2mZMYKGU55prYxLicqTiPQwivt4j-xQPwIBLgCVE1RvIdzwuqt983Ej_CitYlwydN1iHmU-iEdf_gV7iISGmyz7ac4kvEn_eGhGGrdAnbppQRhgxphcRLWjKbfGzbWd7EQv_C9nGNxD24uSQa6PwudUcoFzEQ4s7usINLhz0yTLbmzJGI1M53kUkhFJ5YSWoAVNyppk2ecyPvh5gR3DGnIhIadmGlOUvYMdfYLdeguXmq9iXyEt9lzTRGeLpn77XiXgXHtx89pGiWCmBhIb9XKLfRrzxnFf9rwCHTk6xlXSm532Ss9raxzAatCEknEnRmbN4k5eEb3oogzgbr0pnMwJvDm8RA2962FeAUK0mDN2YVpelvB1IEAEl8lNui_1njqjZTGbKt4UqyqtcaNo_VdzUBI3dCuaPWdIb4w8JDGNtb7zMQXQM9mbArGSb-ItoU8g28ihCQPeaj02paYRlQnIEgpCitRoAZc
[+2005 ms] I/flutter (13247): Rajen Trivedi
[ +727 ms] I/flutter (13247): []
[+4353 ms] V/ActivityThread(13247): handleTrimMemory:com.example.labhesh_app
[ +191 ms] Updating files
[ +186 ms] V/ActivityThread(13247): handleTrimMemory:com.example.labhesh_app
[ +298 ms] DevFS: Sync finished
[ +4 ms] Syncing files to device Redmi Y2... (completed in 7,999ms, longer than expected)
[ +39 ms] Synced 3.9MB.
[ +22 ms] Sending to VM service: _flutter.listViews({})
[ +7 ms] Result: {type: FlutterViewList, views: [{type: FlutterView, id: _flutterView/0xa4019190, isolate: {type: @isolate, fixedId:
true, id: isolates/1949944609224811, name: main.dart$main-1949944609224811, number: 1949944609224811}}]}
[ +1 ms] <- accept
[ +1 ms] Connected to _flutterView/0xa4019190.
[ +22 ms] �🔥 To hot reload changes while running, press "r". To hot restart (and rebuild state), press "R
[ +1 ms] An Observatory debugger and profiler on Redmi Y2 is available at: http://127.0.0.1:53127/vDp-bYLTmgs=/
[ +1 ms] For a more detailed help message, press "h". To detach, press "d"; to quit, press "q".
[+3886 ms] I/flutter (13247): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
[ +4 ms] I/flutter (13247): The following NoSuchMethodError was thrown building Consumer(dirty, dependencies:
[ +2 ms] I/flutter (13247): [_DefaultInheritedProviderScope]):
[ +96 ms] I/flutter (13247): The getter 'length' was called on null.
[ +27 ms] I/flutter (13247): Receiver: null
[ +1 ms] I/flutter (13247): Tried calling: length
[ +1 ms] I/flutter (13247):
[ ] I/flutter (13247): The relevant error-causing widget was:
[ ] I/flutter (13247): Consumer
[ ] I/flutter (13247): file:///F:/flutter%20project/flutter%20project/labhesh_app/lib/screen/add_page.dart:287:29
[ ] I/flutter (13247):
[ +20 ms] I/flutter (13247): When the exception was thrown, this was the stack:
[ +1 ms] I/flutter (13247): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
[ ] I/flutter (13247): #1 _AddFarmerState.build..
(package:labhesh_app/screen/add_page.dart:289:50)
[ +1 ms] I/flutter (13247): #2 Consumer.buildWithChild (package:provider/src/consumer.dart:175:12)
[ ] I/flutter (13247): #3 SingleChildStatelessWidget.build (package:nested/nested.dart:260:41)
[ ] I/flutter (13247): #4 StatelessElement.build (package:flutter/src/widgets/framework.dart:4291:28)
[ ] I/flutter (13247): #5 SingleChildStatelessElement.build (package:nested/nested.dart:280:18)
[ ] I/flutter (13247): #6 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4223:15)
[ ] I/flutter (13247): #7 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
[ ] I/flutter (13247): #8 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
[ ] I/flutter (13247): #9 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
[ ] I/flutter (13247): #10 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:223:11)
[ ] I/flutter (13247): #11 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
[ ] I/flutter (13247): #12 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
[ ] I/flutter (13247): #13 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
[ ] I/flutter (13247): #14 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
[ ] I/flutter (13247): #15 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
[ ] I/flutter (13247): #16 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
[ +22 ms] I/flutter (13247): #17 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
[ +1 ms] I/flutter (13247): #18 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
[ +1 ms] I/flutter (13247): #19 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
[ +1 ms] I/flutter (13247): #20 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
[ ] I/flutter (13247): #21 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
[ +1 ms] I/flutter (13247): #22 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
[ +1 ms] I/flutter (13247): #23 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
[ ] I/flutter (13247): #24 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
[ ] I/flutter (13247): #25 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
[ ] I/flutter (13247): #26 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
[ ] I/flutter (13247): #27 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
[ ] I/flutter (13247): #28 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
[ ] I/flutter (13247): #29 ParentDataElement.mount (package:flutter/src/widgets/framework.dart:4617:11)
[ +24 ms] I/flutter (13247): #30 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
[ +1 ms] I/flutter (13247): #31 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
[ ] I/flutter (13247): #32 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
[ ] I/flutter (13247): #33 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
[ ] I/flutter (13247): #34 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
[ ] I/flutter (13247): #35 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
[ ] I/flutter (13247): #36 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
[ ] I/flutter (13247): #37 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
[ ] I/flutter (13247): #38 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
[ ] I/flutter (13247): #39 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
[ ] I/flutter (13247): #40 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
[ +24 ms] I/flutter (13247): #41 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
[ +1 ms] I/flutter (13247): #42 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
[ +1 ms] I/flutter (13247): #43 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
[ +1 ms] I/flutter (13247): #44 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
[ ] I/flutter (13247): #45 SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1288:36)
[ ] I/flutter (13247): #46 SliverMultiBoxAdaptorElement.createChild.
(package:flutter/src/widgets/sliver.dart:1273:20)
[ +1 ms] I/flutter (13247): #47 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2412:19)
[ ] I/flutter (13247): #48 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1266:11)
[ ] I/flutter (13247): #49 RenderSliverMultiBoxAdaptor._createOrObtainChild.
(package:flutter/src/rendering/sliver_multi_box_adaptor.dart:354:23)
[ +26 ms] I/flutter (13247): #50 RenderObject.invokeLayoutCallback.
(package:flutter/src/rendering/object.dart:1823:58)
[ +1 ms] I/flutter (13247): #51 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:875:15)
[ +1 ms] I/flutter (13247): #52 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1823:13)
[ ] I/flutter (13247): #53 RenderSliverMultiBoxAdaptor._createOrObtainChild
(package:flutter/src/rendering/sliver_multi_box_adaptor.dart:343:5)
[ +1 ms] I/flutter (13247): #54 RenderSliverMultiBoxAdaptor.insertAndLayoutChild
(package:flutter/src/rendering/sliver_multi_box_adaptor.dart:489:5)
[ +1 ms] I/flutter (13247): #55 RenderSliverList.performLayout.advance (package:flutter/src/rendering/sliver_list.dart:195:19)
[ ] I/flutter (13247): #56 RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:238:19)
[ ] I/flutter (13247): #57 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ +23 ms] I/flutter (13247): #58 RenderSliverEdgeInsetsPadding.performLayout
(package:flutter/src/rendering/sliver_padding.dart:134:11)
[ +2 ms] I/flutter (13247): #59 RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:373:11)
[ +1 ms] I/flutter (13247): #60 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #61 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:410:13)
[ ] I/flutter (13247): #62 RenderShrinkWrappingViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1700:12)
[ ] I/flutter (13247): #63 RenderShrinkWrappingViewport.performLayout (package:flutter/src/rendering/viewport.dart:1663:20)
[ ] I/flutter (13247): #64 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #65 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #66 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #67 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ +23 ms] I/flutter (13247): #68 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ +1 ms] I/flutter (13247): #69 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #70 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #71 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #72 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #73 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #74 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #75 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #76 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #77 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #78 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #79 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #80 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #81 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #82 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #83 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:206:11)
[ ] I/flutter (13247): #84 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ +24 ms] I/flutter (13247): #85 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:259:13)
[ +1 ms] I/flutter (13247): #86 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #87 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:163:11)
[ +1 ms] I/flutter (13247): #88 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:477:7)
[ ] I/flutter (13247): #89 MultiChildLayoutDelegate._callPerformLayout
(package:flutter/src/rendering/custom_layout.dart:232:7)
[ +1 ms] I/flutter (13247): #90 RenderCustomMultiChildLayoutBox.performLayout
(package:flutter/src/rendering/custom_layout.dart:391:14)
[ +1 ms] I/flutter (13247): #91 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #92 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ +1 ms] I/flutter (13247): #93 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #94 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ +25 ms] I/flutter (13247): #95 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1232:11)
[ +1 ms] I/flutter (13247): #96 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #97 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #98 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #99 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #100 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #101 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #102 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ +25 ms] I/flutter (13247): #103 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ +1 ms] I/flutter (13247): #104 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #105 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #106 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ +1 ms] I/flutter (13247): #107 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ +1 ms] I/flutter (13247): #108 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #109 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
[ ] I/flutter (13247): #110 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ ] I/flutter (13247): #111 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3166:14)
[ ] I/flutter (13247): #112 RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
[ +27 ms] I/flutter (13247): #113 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:505:15)
[ +1 ms] I/flutter (13247): #114 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1584:7)
[ +1 ms] I/flutter (13247): #115 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:844:18)
[ ] I/flutter (13247): #117 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:774:13)
[ +2 ms] I/flutter (13247): #118 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:283:5)
[ +27 ms] I/flutter (13247): #119 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1102:15)
[ +1 ms] I/flutter (13247): #120 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1041:9)
[ ] I/flutter (13247): #121 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:957:5)
[ ] I/flutter (13247): #125 _invoke (dart:ui/hooks.dart:259:10)
[ ] I/flutter (13247): #126 _drawFrame (dart:ui/hooks.dart:217:3)
[ ] I/flutter (13247): (elided 3 frames from package dart:async)
[ +1 ms] I/flutter (13247):
[ +26 ms] I/flutter (13247): ════════════════════════════════════════════════════════════════════════════════════════════════════
[ +2 ms] I/flutter (13247): Another exception was thrown: NoSuchMethodError: The getter 'length' was called on null.
[ +1 ms] V/ActivityThread(13247): handleTrimMemory:com.example.labhesh_app
[ +147 ms] I/flutter (13247): []
[ +62 ms] I/flutter (13247): [{id: 1, type: Makka, created_at: 2020-03-17T07:22:16.000000Z, updated_at: 2020-03-17T07:22:16.000000Z},
{id: 2, type: Bajara, created_at: 2020-03-17T10:23:34.000000Z, updated_at: 2020-03-17T10:23:34.000000Z}, {id: 3, type: Gehu, created_at:
2020-03-17T10:23:41.000000Z, updated_at: 2020-03-17T10:23:41.000000Z}, {id: 4, type: Mausambi, created_at: 2020-03-17T10:23:50.000000Z,
updated_at: 2020-03-17T10:23:50.000000Z}, {id: 5, type: Fruit, created_at: 2020-03-17T10:24:01.000000Z, updated_at:
2020-03-17T10:24:01.000000Z}]
[+3855 ms] I/Timeline(13247): Timeline: Activity_launch_request time:554430752
[+1084 ms] D/FlutterView(13247): Detaching from a FlutterEngine: io.flutter.embedding.engine.FlutterEngine@efc3988
[ +45 ms] V/ActivityThread(13247): handleTrimMemory:com.example.labhesh_app
[ +577 ms] Service protocol connection closed.
[ +2 ms] Lost connection to device.
[ +3 ms] DevFS: Deleting filesystem on the device
(file:///data/user/0/com.example.labhesh_app/code_cache/labhesh_appHAOTHW/labhesh_app/)
[ +29 ms] Sending to VM service: _deleteDevFS({fsName: labhesh_app})
[ +256 ms] Ignored error while cleaning up DevFS: TimeoutException after 0:00:00.250000: Future not completed
[ +39 ms] "flutter run" took 47,821ms.
Analyzing labhesh_app...
No issues found! (ran in 45.0s)
[√] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.18362.239], locale en-IN)
• Flutter version 1.12.13+hotfix.8 at C:\flutter
• Framework revision 0b8abb4724 (7 weeks ago), 2020-02-11 11:44:36 -0800
• Engine revision e1e6ced81d
• Dart version 2.7.0

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:\Users\sonu\AppData\Local\Android\Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.3
• ANDROID_HOME = C:\Users\sonu\AppData\Local\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.

[√] Android Studio (version 3.4)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 39.0.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] VS Code (version 1.43.2)
• VS Code at C:\Users\sonu\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.8.1

[√] Connected device (1 available)
• Redmi Y2 • 12c7f04 • android-arm • Android 9 (API 28)

readtime error

* What went wrong:
A problem occurred configuring project ':image_picker_saver'.
> Could not resolve all files for configuration ':image_picker_saver:classpath'.
   > Could not download kotlin-stdlib.jar (org.jetbrains.kotlin:kotlin-stdlib:1.2.20)
      > Could not get resource
      'https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.2.20/kotlin-stdlib-1.2.2
      0.jar'.
         > Read timed out

when using

image_picker_saver:
    git: https://github.com/cnhefang/image_picker_saver

Some issue in example

I have executed the code in example/lib/main.dart . And some error has appeared.

image

var filePath =await ImagePickerSaver.saveFile(fileData: pngBytes);
    var savedFile= File.fromUri(Uri.file(filePath));
    setState(() {
      _imageFile = Future<File>.sync(() => savedFile);
    });

I think it would be better to return file ? same with video ? It's my approach
image_picker_saver.dart

static Future<File> saveFile({
    @required Uint8List fileData
  }) async {
    assert(fileData != null);

    final String path = await _channel.invokeMethod(
      'saveFile',
      <String, dynamic>{
        'fileData': fileData,
      },
    );
    return path == null ? null : new File(path) ; 
  }

main.dart

var filePath = await ImagePickerSaver.saveFile(fileData: response.bodyBytes);
    var savedFile= File.fromUri(Uri.file(filePath.path));
    setState(() {
      _imageFile = Future<File>.sync(() => savedFile);
    });

Cannot save to specified Album name and auto create that sub-folder

Hi, thanks for contributing this lib. With this library, I cannot find a way to do save image and save video with an Album name (just sub-folder). Could you help?

For example, GallerySaver package can specify album name like "GallerySaver.saveImage(Image.path, albumName: albumName). But I don't like GallerySaver, it somehow has compatibility issue with my app. Will you be possible to support the useful album-name feature?

老哥,你的库和image_picker冲突啦。

1.用您的库去从相机获取图片,发生崩溃,原因;
image
y有个搜索方法是在子线程执行,导致了官方不在主线发生崩溃。
2.然后我用回了image_picker,发生你的ImagePickerDelegate中的requestCode和image_picker的ImagePickerDelegate的requestCode冲突了。导致获取到的图片被你拦截到了。导致崩溃。
image

建议 和image_picker的代码解耦出来,或者可以一起来整,感谢~

在ios13.2.3上 ImagePickerSaver.saveFile 获取不到保持的图片地址

我用两个ios的测试手机进行测试:

在 ios12.4.6 上:
var filePath = await ImagePickerSaver.saveFile(fileData: data);
这行代码可以正常执行,并可以获取到filePath

在ios13.2.3上
var filePath = await ImagePickerSaver.saveFile(fileData: data);
这行代码执行完,没有继续向下执行,图片保持了,但是没法取到filePath

not able to save the file in ios13

Dear Team,
I am using your plugin in one of my flutter application. its working fine in below ios13. However after upgrading to ios13 its giving below error. kindly suggest a solution to fix

code:

final byteData = await image.toByteData(format: ImageByteFormat.png);
Uint8List pngBytes = byteData.buffer.asUint8List();
var filePath = await ImagePickerSaver.saveFile(fileData: pngBytes);

Flutter Version:
Flutter 1.9.1+hotfix.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 2d2a1ffec9 (3 weeks ago) • 2019-09-06 18:39:49 -0700
Engine • revision b863200c37
Tools • Dart 2.5.0

Flutter doctor:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.9.1+hotfix.2, on Mac OS X 10.14.6 18G95, locale en-US)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 11.0)
[✓] Android Studio (version 3.4)
[✓] VS Code (version 1.38.1)
[✓] Connected device (1 available)

• No issues found!

Xcode Log:
unner[32641:729850] save image successful
2019-09-26 09:37:58.007237+0300 Runner[32641:729850] [core] "Error returned from daemon: Error Domain=com.apple.accounts Code=7 "(null)""
2019-09-26 09:37:58.041160+0300 Runner[32641:729723] Success public.png {
PHImageFileDataKey = {length = 1715209, bytes = 0x89504e47 0d0a1a0a 0000000d 49484452 ... 49454e44 ae426082 };
PHImageFileOrientationKey = 0;
PHImageFileUTIKey = "public.png";
PHImageResultIsDegradedKey = 0;
PHImageResultRequestIDKey = 1;
}
2019-09-26 09:37:58.041279+0300 Runner[32641:729723] Success PHImageFileURLKey (null)
2019-09-26 09:37:58.044804+0300 Runner[32641:729862] [VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: Invalid argument(s)
#0 _StringBase.+ (dart:core-patch/string_patch.dart:263:57)
#1 ImagePickerSaver.saveFile (package:image_picker_saver/image_picker_saver.dart:85:34)

#2 saveImageAndBytes (package:contract_followup_app/util/image_util.dart:38:43)

#3 _BoardWdigetState._takeScreenshot (package:contract_followup_app/widgets/board_widget.dart:237:5)
#4 _BoardWdigetState._setupEvent. (package:contract_followup_app/widgets/board_widget.dart:110:9)
#5 _rootRunUnary (dart:async/zone.dart:1132:38)
#6 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#7 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#8 CastStreamSubscription._onData (dart:_internal/async_cast.dart:81:11)
#9 _rootRunUnary (dart:async/zone.dart:1132:38)
#10 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#11 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#12 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#13 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
#14 _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:132:11)
#15 _WhereStream._handleData (dart:async/stream_pipe.dart:207:12)
#16 _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:164:13)
#17 _rootRunUnary (dart:async/zone.dart:1132:38)
#18 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#19 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#20 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#21 _DelayedData.perform (dart:async/stream_impl.dart:591:14)
#22 _StreamImplEvents.handleNext (dart:async/stream_impl.dart:707:11)
#23 _PendingEvents.schedule. (dart:async/stream_impl.dart:667:7)
#24 _rootRun (dart:async/zone.dart:1120:38)
#25 _CustomZone.run (dart:async/zone.dart:1021:19)
#26 _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#27 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:963:23)
#28 _rootRun (dart:async/zone.dart:1124:13)
#29 _CustomZone.run (dart:async/zone.dart:1021:19)
#30 _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#31 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:963:23)
#32 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#33 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)

App crashes and loses connection when i try to save image from the picker

flutter: focusnode changed

Performing hot reload... ⣟flutter: controller changed
flutter: focusnode changed
⣯flutter: controller changed
flutter: focusnode changed
flutter: controller changed
flutter: focusnode changed
flutter: controller changed
flutter: focusnode changed
flutter: controller changed
flutter: focusnode changed

Reloaded 2 of 454 libraries in 1,827ms.
Lost connection to device.

Flutter 1.7.8+hotfix.3 breaks ability to get camera/gallery image.

The latest Flutter/Dart update (Flutter 1.7.8+hotfix.3) broke something and the Future never resolves when trying to get a photo from the Gallery or the Camera. Can someone help me do something to fix this? Thank you in advance!

D/skia ( 6513): Shader compilation error
D/skia ( 6513): ------------------------
D/skia ( 6513): Errors:
D/skia ( 6513):
W/Binder ( 6513): Caught a RuntimeException from the binder stub implementation.
W/Binder ( 6513): java.lang.RuntimeException: Methods marked with @UiThread must be executed on the main thread. Current thread: Binder:6513_1
W/Binder ( 6513): at io.flutter.embedding.engine.FlutterJNI.ensureRunningOnMainThread(FlutterJNI.java:794)
W/Binder ( 6513): at io.flutter.embedding.engine.FlutterJNI.invokePlatformMessageResponseCallback(FlutterJNI.java:727)
W/Binder ( 6513): at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:140)
W/Binder ( 6513): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:225)
W/Binder ( 6513): at io.flutter.plugins.imagepickersaver.ImagePickerDelegate.finishWithSuccess(ImagePickerDelegate.java:515)
W/Binder ( 6513): at io.flutter.plugins.imagepickersaver.ImagePickerDelegate.handleImageResult(ImagePickerDelegate.java:489)
W/Binder ( 6513): at io.flutter.plugins.imagepickersaver.ImagePickerDelegate.access$000(ImagePickerDelegate.java:67)
W/Binder ( 6513): at io.flutter.plugins.imagepickersaver.ImagePickerDelegate$4.onPathReady(ImagePickerDelegate.java:456)
W/Binder ( 6513): at io.flutter.plugins.imagepickersaver.ImagePickerDelegate$3$1.onScanCompleted(ImagePickerDelegate.java:163)
W/Binder ( 6513): at android.media.MediaScannerConnection$ClientProxy.onScanCompleted(MediaScannerConnection.java:204)
W/Binder ( 6513): at android.media.MediaScannerConnection$1.scanCompleted(MediaScannerConnection.java:53)
W/Binder ( 6513): at android.media.IMediaScannerListener$Stub.onTransact(IMediaScannerListener.java:61)
W/Binder ( 6513): at android.os.Binder.execTransact(Binder.java:731)

Save file fail in Android10.0

2019-09-23 18:06:57.896 10818-10818/com.quwan.app.micgame_internal W/MediaStore: Failed to obtain thumbnail for content://media/external/images/media/2375
    java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
        at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:149)
        at android.content.ContentProviderProxy.openTypedAssetFile(ContentProviderNative.java:705)
        at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1711)
        at android.content.ContentResolver.openTypedAssetFile(ContentResolver.java:1616)
        at android.content.ContentResolver.lambda$loadThumbnail$0(ContentResolver.java:3614)
        at android.content.-$$Lambda$ContentResolver$7ILY1SWNxC2xhk-fQUG6tAXW9Ik.call(Unknown Source:10)
        at android.graphics.ImageDecoder$CallableSource.createImageDecoder(ImageDecoder.java:555)
        at android.graphics.ImageDecoder.decodeBitmapImpl(ImageDecoder.java:1859)
        at android.graphics.ImageDecoder.decodeBitmap(ImageDecoder.java:1852)
        at android.content.ContentResolver.loadThumbnail(ContentResolver.java:3613)
        at android.content.ContentResolver.loadThumbnail(ContentResolver.java:3597)
        at android.provider.MediaStore$InternalThumbnails.getThumbnail(MediaStore.java:1553)
        at android.provider.MediaStore$Images$Thumbnails.getThumbnail(MediaStore.java:1922)
        at io.flutter.plugins.imagepickersaver.CapturePhotoUtils.insertImage(CapturePhotoUtils.java:70)
        at io.flutter.plugins.imagepickersaver.ImagePickerDelegate.saveImageToGallery(ImagePickerDelegate.java:289)
        at io.flutter.plugins.imagepickersaver.ImagePickerSaverPlugin.onMethodCall(ImagePickerSaverPlugin.java:84)
        at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:222)
        at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:96)
        at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:643)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:340)
        at android.os.Looper.loop(Looper.java:183)
        at android.app.ActivityThread.main(ActivityThread.java:7612)
        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:1004)

image_saver

2}IAVI3TC56HU9{QWAWPJPI
这两个值不一样会导致 android 运行失败

MissingPluginException(No implementation found for method saveFile on channel plugins.flutter.io/image_picker_saver

Hello, i am having the following exception when trying to develop with the plugin
MissingPluginException(No implementation found for method saveFile on channel plugins.flutter.io/image_picker_saver
i have included these permissions in my android manifest

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE"/>

and according to some suggestions i have repeatedly run flutter clean and flutter run but the problem persists, please assist. thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.