flutter - MissingPluginException(在通道 com.amazonaws.amplify/amplify 上找不到方法配置的实现)
问题描述
在配置身份验证插件后运行Amplify Flutter 教程项目时,我不断收到以下错误:
Error: MissingPluginException(No implementation found for method configure on channel com.amazonaws.amplify/amplify)
at Object.throw_ [as throw] (http://localhost:56261/dart_sdk.js:5331:11)
at MethodChannel._invokeMethod (http://localhost:56261/packages/flutter/src/services/system_channels.dart.lib.js:954:21)
at _invokeMethod.next (<anonymous>)
at http://localhost:56261/dart_sdk.js:39029:33
at _RootZone.runUnary (http://localhost:56261/dart_sdk.js:38886:58)
at _FutureListener.thenAwait.handleValue (http://localhost:56261/dart_sdk.js:33872:29)
at handleValueCallback (http://localhost:56261/dart_sdk.js:34432:49)
at Function._propagateToListeners (http://localhost:56261/dart_sdk.js:34470:17)
at _Future.new.[_completeWithValue] (http://localhost:56261/dart_sdk.js:34312:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:56261/dart_sdk.js:34335:35)
at Object._microtaskLoop (http://localhost:56261/dart_sdk.js:39173:13)
at _startMicrotaskLoop (http://localhost:56261/dart_sdk.js:39179:13)
at http://localhost:56261/dart_sdk.js:34686:9
下面的代码main.dart
直接从 Amplify Flutter 复制而来,但仅使用 Auth 插件:
class _MyHomePageState extends State<MyHomePage> {
@override
initState() {
super.initState();
_configureAmplify();
}
void _configureAmplify() async {
AmplifyAuthCognito authPlugin = AmplifyAuthCognito();
Amplify.addPlugin(authPlugin);
try {
await Amplify.configure(amplifyconfig); # <--- this is what throws the MissingPluginException
} on AmplifyAlreadyConfiguredException {
print(
"Tried to reconfigure Amplify; this can occur when your app restarts on Android.");
}
}
...
}
pubspec.yaml:
name: <myproject>
description: <description>
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
amplify_flutter: '<1.0.0'
amplify_auth_cognito: '<1.0.0'
cupertino_icons: ^1.0.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
是的,是的,我已经搜索过stackoverflow和github。我已经尝试了任何人建议的一切,包括:
- 关闭应用程序,
flutter clean
然后运行flutter pub get
- 更新我的所有依赖项
- 缓存无效并重新启动 Android Studio
WidgetsFlutterBinding.ensureInitialized()
确保小部件通过调用初始化main()
Amplify.configure()
确保在加载 Auth 插件之前我没有打电话- 开始一个全新的项目并重新初始化 Amplify
解决方案
截至发帖时,Amplify-Flutter 不支持 Web 平台,在此之前此错误是预期行为。请参阅:https ://github.com/aws-amplify/amplify-flutter/issues/234
推荐阅读
- vba - 仅从电子邮件中提取 excel 文档
- c - 通过将第二个字符串的字符一个接一个地复制到第一个字符串的末尾来合并两个字符串
- python - 有返回问题的总和的所有路径
- web-component - 在 Lightning Web 组件中使用 Preact
- javascript - 未处理的拒绝 (TypeError):fs.readdir 不是函数
- https - 为 insecure-requests=redirect 更改 quarkus 安全端口
- c# - 将 .ToArray() 放入 from/in 时,LINQ 查询性能不佳
- amazon-web-services - 是否可以使用“HTTP”协议(而不是 REST)通过 AWS API Gateway 返回 HTML?
- ffmpeg - 无法使用 ffmpeg 播放录制的视频和音频
- sql - 如何使用 Vertica 将 IPv6 中的地址转换为数字