【问题标题】:How to use "Image_picker" and "shared_preferences" together in the same project如何在同一个项目中同时使用“Image_picker”和“shared_preferences”
【发布时间】:2021-03-13 08:53:59
【问题描述】:

当我删除“Image_picker”依赖项时,应用程序工作正常。当我重新添加“shared_preferences”时会出错。

flutter run --release --verbose

启动应用程序和我想使用“shared_preferences”时会显示此错误。

[+8288 ms] E/flutter (10416): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: MissingPluginException(No implementation found
for method getAll on channel plugins.flutter.io/shared_preferences)

“Image_picke”给出了这个错误。

[   +2 ms] E/flutter (10872): 
[+18180 ms] E/flutter (10872): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: PlatformException(already_active, Image picker
is already active, null, null)
[   +3 ms] E/flutter (10872): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:581)
[   +1 ms] E/flutter (10872): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:158)
[   +1 ms] E/flutter (10872): <asynchronous suspension>
[   +2 ms] E/flutter (10872): #2      MethodChannelImagePicker.pickImage
(package:image_picker_platform_interface/src/method_channel/method_channel_image_picker.dart:29)
[   +2 ms] E/flutter (10872): <asynchronous suspension>
[   +1 ms] E/flutter (10872): #3      _PhotoAndNameState.takePicture (package:jokesapp/photoAndName.dart:22)
[   +1 ms] E/flutter (10872): <asynchronous suspension>
[   +2 ms] E/flutter (10872): 

如果我删除依赖项“Image_picker”,则错误已修复。但我必须使用“Image_picker”

https://github.com/flutter/flutter/issues/40339有人在这个issues中提到了这个。 我更好的建议是使用您自己的频道从本地选择图像而不是使用第三方库,因为有时您可能会遇到无法解决的插件问题,需要等待插件更新.最近,我在使用permission_handler 和image_picker(我用于麦克风访问的permission_handler)时遇到了权限问题,而image_picker 将有自己的权限检查器。因此,当我们在项目中包含这两个库时,由于 OnRequest 和 OnActivity 的 Override 方法,只有一个库可以工作。 image_picker 仅在调试模式下适用于 android 10。

但我不明白他在说什么。由于我将发布我的应用程序,因此“image_picker”对我来说是一个更安全的选择。

【问题讨论】:

  • @Android_id 我试过了。没那么简单。昨天我花了一整天的时间解决这个问题。有太多人和我一样的问题。我认为“图片选择器”没有在 android 10 上工作。Flutter 开发人员需要弄清楚这一点。

标签: flutter sharedpreferences imagepicker


【解决方案1】:

我几天前解决了这个问题。 Gradle 版本变为 4.1.0 并进行了新更新。“Image_picker”依赖项在 Gradle 4.1.0 版本中不起作用。此外,当它与“shared_preferences”依赖项在同一个项目中时,“shared_preferences”依赖项也不起作用。删除后项目中的“image_picker”,“shared_preferences”正常工作。因此,当我们在项目中包含这两个库时,由于 OnRequest 和 OnActivity 的 Override 方法,只有一个库可以工作。

了解更多信息。 #40339

解决方案

抱歉,唯一的解决方案是删除 gradle 版本。

classpath 'com.android.tools.build:gradle:3.5.4'

我制作了 gradle 版本 3.5.4,现在一切正常。 降低 Gradle 版本后,如果遇到 NDK 错误,请同时降低 NDK 版本。 #76393

【讨论】:

    猜你喜欢
    • 2019-05-04
    • 1970-01-01
    • 2016-01-03
    • 2015-03-21
    • 2014-05-25
    • 2022-01-25
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多