我正在尝试为Flutter配置AWS Amplify插件AmplifyDataStore和AmplifyStorageS3。
我收到以下错误:
I/amplify:flutter:auth_cognito( 1242): Added Auth plugin
I/amplify:flutter:api( 1242): Added API plugin
I/flutter ( 1242): Amplify plugin was not added
E/flutter ( 1242): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: AmplifyException(message: Amplify plugin AmplifyDataStore was not added successfully., recoverySuggestion: We currently don't have a recovery suggestion for this exception., underlyingException: MissingPluginException(No implementation found for method configureModelProvider on channel com.amazonaws.amplify/datastore))
E/flutter ( 1242): #0 AmplifyClass.addPlugin (package:amplify_flutter/amplify.dart:102:9)
E/flutter ( 1242): <asynchronous suspension>
E/flutter ( 1242):
I/flutter ( 1242): Amplify plugin was not added
E/flutter ( 1242): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: AmplifyException(message: Amplify plugin AmplifyStorageS3 was not added successfully., recoverySuggestion: We currently don't have a recovery suggestion for this exception., underlyingException: MissingPluginException(No implementation found for method addPlugin on channel com.amazonaws.amplify/storage_s3))
E/flutter ( 1242): #0 AmplifyClass.addPlugin (package:amplify_flutter/amplify.dart:102:9)
E/flutter ( 1242): <asynchronous suspension>
E/flutter ( 1242):
E/flutter ( 1242): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: MissingPluginException(No implementation found for method configure on channel com.amazonaws.amplify/amplify)
E/flutter ( 1242): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:156:7)
E/flutter ( 1242): <asynchronous suspension>
E/flutter ( 1242): #1 AmplifyClass.configure (package:amplify_flutter/amplify.dart:175:17)
E/flutter ( 1242): <asynchronous suspension>
E/flutter ( 1242): #2 _MyAppState._configureAmplify (package:insighteur_app/main.dart:46:7)
E/flutter ( 1242): <asynchronous suspension>
E/flutter ( 1242):下面是main.dart文件中类的屏幕截图:
class _MyAppState extends State<MyApp> {
bool _amplifyConfigured = false;
void initState() {
super.initState();
_configureAmplify();
}
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: _amplifyConfigured ? Text('Check') : HomePage(),
),
);
}
void _configureAmplify() async {
// Add the following lines to your app initialization to add the DataStore plugin
Amplify.addPlugin(AmplifyAuthCognito());
Amplify.addPlugin(AmplifyDataStore(modelProvider: ModelProvider.instance));
Amplify.addPlugin(AmplifyAPI());
Amplify.addPlugin(AmplifyStorageS3());
try {
await Amplify.configure(amplifyconfig);
setState(() {
_amplifyConfigured = true;
});
} on AmplifyAlreadyConfiguredException {
print(
"Tried to reconfigure Amplify; this can occur when your app restarts on Android.");
}
}
}我的amplifyconfiguration.dart文件如下所示:
const amplifyconfig = ''' {
"UserAgent": "aws-amplify-cli/2.0",
"Version": "1.0",
"auth": {
"plugins": {
"awsCognitoAuthPlugin": {
"UserAgent": "aws-amplify-cli/0.1.0",
"Version": "0.1.0",
"IdentityManager": {
"Default": {}
},
"CredentialsProvider": {
"CognitoIdentity": {
"Default": {
"PoolId": "us-west-2:fafb1966-fc0b-41e0-92e5-3124d5a8d27a",
"Region": "us-west-2"
}
}
},
"CognitoUserPool": {
"Default": {
"PoolId": "us-west-2_aH29w4X7B",
"AppClientId": "17c0b97ouv640bcp87m9v8pgtp",
"Region": "us-west-2"
}
},
"Auth": {
"Default": {
"authenticationFlowType": "USER_SRP_AUTH"
}
},
"S3TransferUtility": {
"Default": {
"Bucket": "insighteur3f5d08559c174463a5a2aa8681fc3dbe174435-dev",
"Region": "us-west-2"
}
},
"AppSync": {
"Default": {
"ApiUrl": "https://3w7mmufy5rdrlacj2qeg27zd7q.appsync-api.us-west-2.amazonaws.com/graphql",
"Region": "us-west-2",
"AuthMode": "API_KEY",
"ApiKey": "da2-u3xpqm5wvfbntmqor5cglgcatq",
"ClientDatabasePrefix": "insighteur_API_KEY"
},
"insighteur_AWS_IAM": {
"ApiUrl": "https://3w7mmufy5rdrlacj2qeg27zd7q.appsync-api.us-west-2.amazonaws.com/graphql",
"Region": "us-west-2",
"AuthMode": "AWS_IAM",
"ClientDatabasePrefix": "insighteur_AWS_IAM"
}
}
}
}
},
"storage": {
"plugins": {
"awsS3StoragePlugin": {
"bucket": "insighteur3f5d08559c174463a5a2aa8681fc3dbe174435-dev",
"region": "us-west-2",
"defaultAccessLevel": "guest"
}
}
},
"api": {
"plugins": {
"awsAPIPlugin": {
"insighteur": {
"endpointType": "GraphQL",
"endpoint": "https://3w7mmufy5rdrlacj2qeg27zd7q.appsync-api.us-west-2.amazonaws.com/graphql",
"region": "us-west-2",
"authorizationType": "API_KEY",
"apiKey": "da2-u3xpqm5wvfbntmqor5cglgcatq"
}
}
}
}
}''';pubspec.yaml文件依赖项如下所示:
dependencies:
flutter:
sdk: flutter
flutter_color: any
flutter_color_models: ^1.2.1
amplify_flutter: '<1.0.0'
amplify_auth_cognito: '<1.0.0'
amplify_analytics_pinpoint: '<1.0.0'
amplify_storage_s3: '<1.0.0'
#file_picker: ^3.0.1
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.0
flutter_datetime_picker: ^1.5.1
amplify_datastore: '<1.0.0'
intl: ^0.15.7
amplify_api: '<1.0.0'
dev_dependencies:
flutter_test:
sdk: flutter 我试过关闭应用程序,flutter clean,flutter upgrade(使用2.14.0版本),重启Android mobile AVD……
发布于 2021-10-26 08:41:49
每当你得到一个Plugin not added exception,这通常是因为你正在执行一个hot-reload操作AFTER添加插件到你的应用程序。您需要完全STOP应用程序,然后再次RUN它。这就是我的问题所在
发布于 2021-05-15 23:51:57
add amplify add storage如果成功,则执行amplify push依赖项: flutter: sdk: flutter amplify_storage_s3:'<1.0.0‘
提醒:还应在上安装amplify_auth_cognito
/ 'package:amplify_auth_cognito/amplify_auth_cognito.dart';//提醒:导入'package:amplify_storage_s3/amplify_storage_s3.dart';导入main.dart
//添加此行,以包含Auth和Storage插件。Amplify.addPlugins([AmplifyAuthCognito(), AmplifyStorageS3()]);
void uploadFile() async { //使用您选择的文件选择机制文件FilePicker.getFile=等待文件(类型: FileType.image);最终密钥=新的DateTime.now().toString();UploadFileResult结果=等待Amplify.Storage.uploadFile(密钥:密钥,本地:文件);}
https://stackoverflow.com/questions/67530658
复制相似问题