我正在我的应用程序中实现image_picker。那没有显示任何警告或消息,但是当我在Android模拟器中运行它时,它向我显示了控制台错误:
[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method pickImage on channel plugins.flutter.io/image_picker)
E/flutter ( 5074): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:314:7)
E/flutter ( 5074): <asynchronous suspension>
E/flutter ( 5074): #1 ImagePicker.pickImage (package:image_picker/image_picker.dart:53:40)
E/flutter ( 5074): <asynchronous suspension>
答案 0 :(得分:4)
我遇到了同样的问题
对于任何碰巧遇到这种情况的人...只需停止应用程序,然后再次运行它
只是一个简单的“关闭然后再打开!”
答案 1 :(得分:2)
我正面临着同样的问题,但是上面提到的所有答案在挖掘之后都无法解决这个问题,我发现android库所需的minSdkVersion高于19,所以转到 android-> app-> build.gradle 将minSdkVersion更改为19,然后从冷启动运行应用程序。
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "you package name"
minSdkVersion 19 // <--here is the changes
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
答案 2 :(得分:1)
首先,请确保清理抖动项目
flutter clean
然后在Android Studio中, 文件>无效并重新启动缓存
flutter run
答案 3 :(得分:1)
只需先flutter clean
然后flutter run
从模拟器中卸载应用程序并清除项目,即可
答案 4 :(得分:0)
您要从相机或图库中挑选图像吗?如果您想使用真实设备从相机中拾取图像,有时仿真会出错,请确保您提供了源:
var image = await ImagePicker.pickImage(source: ImageSource.gallery);
答案 5 :(得分:0)
添加新的依赖项时,如果出现此错误,则应停止应用程序并从冷状态再次运行。热重启将不起作用。
答案 6 :(得分:0)
我只需运行以下命令即可解决问题:
flutter clean
此后,我的Android模拟器开始正常运行。
答案 7 :(得分:0)
对于那些在Android上仍存在问题的人, 这个解决了我的问题。
由于某种原因,尚未自动注册image_picker插件
转到Android> app> main> java> io> flutter>插件并编辑GeneratedPluginRegistrant.java
import io.flutter.plugins.imagepicker.ImagePickerPlugin;
将此行粘贴到方法registerWith ImagePickerPlugin.registerWith(registry.registrarFor("io.flutter.plugins.imagepicker.ImagePickerPlugin"));
答案 8 :(得分:0)
尝试添加:
导入'dart:async';
干净整洁
答案 9 :(得分:0)
当您向pubsec yaml文件添加依赖项并热刷新应用程序时,会发生这种情况。您应该重新构建/重新运行该应用,然后它才能正常运行。
答案 10 :(得分:0)
尝试更改image_picker版本:image_picker:^ 0.6.0 + 9
答案 11 :(得分:0)
自从最新更新以来,静态方法pickImage由于某些原因不可用。 为此,您必须调用 methd getImage(source: ImageSource)
ImagePicker imagePicker = ImagePicker();
final imageFile = await imagePicker.getImage(source: ImageSource.camera);
答案 12 :(得分:0)
安卓#
API < 29
无需配置 - 插件应该是开箱即用的。
API 29+
将 android:requestLegacyExternalStorage="true" 作为属性添加到 AndroidManifest.xml 中的标记。在面向 Android Q 的应用中,该属性默认为 false。
在那之后:
flutter clean
flutter pub get
flutter run
你又开始编码了...
答案 13 :(得分:0)
已按照所有回复进行操作,但在我的情况下仍未解决。仍然抛出“在通道 plugins.flutter.io/image_picker 上找不到方法 pickImage 的实现”
答案 14 :(得分:0)
我遇到了同样的问题。
我的解决方案是删除另一个插件:flutter-facebook-auth
。
此外,我在这里找到了它:github.com/flutter/flutter/issues/72898
真正有用的评论:
<块引用>无论如何,当某些未在代码部分使用的插件使应用程序崩溃时,这种情况真的很糟糕,并且调试告诉您问题出在另一个插件上。
答案 15 :(得分:-2)
更新依赖项解决了我的错误。