gpt4 book ai didi

android - 无法在 Android Studio 中初始化 AWS Amplify for Android 应用程序?

转载 作者:行者123 更新时间:2023-12-04 14:10:26 25 4
gpt4 key购买 nike

我正在使用 AWS 和 Android Studio 为大学制作一个 Android 应用程序。我一直试图通过 https://docs.amplify.aws/start/q/integration/android 弄清楚它是如何工作的但我似乎无法让它在最后一部分工作,即将它连接到云。当我运行该应用程序时,我总是会收到以下错误:

    AmplifyException {message=Failed to parse configuration JSON for AWS API Plugin, cause=AmplifyException {message=Failed to parse configuration, missing required key: endpoint, cause=null, recoverySuggestion=Sorry, we don't have a suggested fix for this error yet.}, recoverySuggestion=Check amplifyconfiguration.json to make sure the AWS API configuration section hasn't been wrongly modified.}
at com.amplifyframework.api.aws.AWSApiPluginConfigurationReader.parseConfigurationJson(AWSApiPluginConfigurationReader.java:97)
at com.amplifyframework.api.aws.AWSApiPluginConfigurationReader.readFrom(AWSApiPluginConfigurationReader.java:56)
at com.amplifyframework.api.aws.AWSApiPlugin.configure(AWSApiPlugin.java:127)
at com.amplifyframework.core.category.Category.configure(Category.java:86)
at com.amplifyframework.core.Amplify.configure(Amplify.java:153)
at com.amplifyframework.core.Amplify.configure(Amplify.java:120)
at com.example.todo.MyAmplifyApplication.onCreate(MyAmplifyApplication.java:18)
at android.app.Instrumentation.callApplicationOnCreate(Unknown Source:0)
at android.app.ActivityThread.handleBindApplication(Unknown Source:1209)
at android.app.ActivityThread.access$1400(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(Unknown Source:710)
at android.os.Handler.dispatchMessage(Unknown Source:19)
at android.os.Looper.loop(Unknown Source:242)
at android.app.ActivityThread.main(Unknown Source:98)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11)
at com.android.internal.os.ZygoteInit.main(Unknown Source:275)
Caused by: AmplifyException {message=Failed to parse configuration, missing required key: endpoint, cause=null, recoverySuggestion=Sorry, we don't have a suggested fix for this error yet.}
at com.amplifyframework.api.aws.AWSApiPluginConfigurationReader.parseConfigurationJson(AWSApiPluginConfigurationReader.java:72)
at com.amplifyframework.api.aws.AWSApiPluginConfigurationReader.readFrom(AWSApiPluginConfigurationReader.java:56) 
at com.amplifyframework.api.aws.AWSApiPlugin.configure(AWSApiPlugin.java:127) 
at com.amplifyframework.core.category.Category.configure(Category.java:86) 
at com.amplifyframework.core.Amplify.configure(Amplify.java:153) 
at com.amplifyframework.core.Amplify.configure(Amplify.java:120) 
at com.example.todo.MyAmplifyApplication.onCreate(MyAmplifyApplication.java:18) 
at android.app.Instrumentation.callApplicationOnCreate(Unknown Source:0) 
at android.app.ActivityThread.handleBindApplication(Unknown Source:1209) 
at android.app.ActivityThread.access$1400(Unknown Source:0) 
at android.app.ActivityThread$H.handleMessage(Unknown Source:710) 
at android.os.Handler.dispatchMessage(Unknown Source:19) 
at android.os.Looper.loop(Unknown Source:242) 
at android.app.ActivityThread.main(Unknown Source:98) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11) 
at com.android.internal.os.ZygoteInit.main(Unknown Source:275)

我完全按照教程中的步骤操作,但我总是卡在这里。这是我所做的:

  • 在项目的根目录中运行“amplify init”
  • 运行“amplifyPush”(如教程中所示)

到目前为止,应用程序仍然运行良好。一直失败的是下一步,就是添加:

Amplify.DataStore.observe(Todo.class,
started -> Log.i("Tutorial", "Observation began."),
change -> Log.i("Tutorial", change.item().toString()),
failure -> Log.e("Tutorial", "Observation failed.", failure),
() -> Log.i("Tutorial", "Observation complete.")
);

我已经尝试并创建了一个全新的项目,并确保再次按照这些步骤操作,但无济于事。我不确定它是否相关,但我也通过 AWS Educate 使用 AWS,因此没有那么多资源显示如何使用我的有限账户使用 AWS 的服务。谁能帮忙?我完全被卡住了,我什至不确定出了什么问题。感谢任何帮助,谢谢!

最佳答案

Amplify Android 库在运行时加载配置文件。该文件必须存在于 您的应用程序项目 中,位于 app/src/main/res/raw/amplifyconfiguration.json 下。当您设置 Android DataStore 时,此文件会自动包含在您的项目中。

Failed to parse configuration, missing required key: endpoint

此消息表明您的 amplifyconfiguration.json 存在,但不包含 DataStore 将与之通信的 AppSync 端点的合适配置。

您的 amplifyconfiguration.json 应该看起来像这样(如果您使用的是 API key 身份验证):

{
"userAgent": "aws-amplify-cli/2.0",
"version": "1.0",
"api": {
"plugins": {
"awsAPIPlugin": {
"VARIES_DEPENDING_ON_YOUR_CLI_SESSION": {
"endpointType": "GraphQL",
"endpoint": "https:/UNIQUE_TO_YOUR_ENDPOINT.appsync-api.us-west-2.amazonaws.com/graphql",
"region": "us-west-2",
"authorizationType": "API_KEY",
"apiKey": "da2-UNIQUE_TO_YOUR_API_KEY"
}
}
}
}
}

例如,如果您没有运行 amplify add apiamplify push,则可能会发生此错误。在这种情况下,您的配置文件可能几乎是空的:

{
"userAgent": "aws-amplify-cli/2.0",
"version": "1.0",
}

我认为端点设置不如 Amplify 文档中应有的那样清晰。感谢备案this GitHub issue in the Amplify docs project .我们将努力改进文档。

注意:我是 AWS Amplify Android 的维护者。

关于android - 无法在 Android Studio 中初始化 AWS Amplify for Android 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64925267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com