c0d*_*d3r 4 android aws-sdk google-signin aws-amplify
我配置了 Google 登录和 AWS 身份池。我正在尝试在没有 AWS 登录 UI 的情况下设置google 登录。使用 google 成功登录后,我尝试在 android 中访问 AWSMobileClient API,但我无法访问此 API 我不知道我的代码中有什么问题。有一个异常导致我的应用程序崩溃。
我的代码在这里
AWSMobileClient.getInstance().federatedSignIn(IdentityProvider.GOOGLE.toString(), googleSignInAccount.getIdToken(), new Callback<UserStateDetails>() {
@Override
public void onResult(UserStateDetails result) {
showToast("sigin in success");
}
@Override
public void onError(Exception e) {
e.printStackTrace();
}
});
Run Code Online (Sandbox Code Playgroud)
详细异常情况:
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.I/ugdroid.awstes: Rejecting re-init on previously-failed class java.lang.Class<com.amazonaws.mobile.client.AWSMobileClient$10>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/amazonaws/mobileconnectors/cognitoauth/handlers/AuthHandler;
at com.amazonaws.mobile.client.AWSMobileClient com.amazonaws.mobile.client.AWSMobileClient.getInstance() (AWSMobileClient.java:-1)
at void com.thugdroid.awstest.MainActivity.signInToAws(com.google.android.gms.auth.api.signin.GoogleSignInAccount) (MainActivity.java:59)
at void com.thugdroid.awstest.MainActivity.handleGoogleSiginInIntent(com.google.android.gms.tasks.Task) (MainActivity.java:86)
at void com.thugdroid.awstest.MainActivity.onActivityResult(int, int, android.content.Intent) (MainActivity.java:78)
at void android.app.Activity.dispatchActivityResult(java.lang.String, int, int, android.content.Intent, java.lang.String) (Activity.java:7462)
at void android.app.ActivityThread.deliverResults(android.app.ActivityThread$ActivityClientRecord, java.util.List, java.lang.String) (ActivityThread.java:4391)
at void android.app.ActivityThread.handleSendResult(android.os.IBinder, java.util.List, java.lang.String) (ActivityThread.java:4440)
at void android.app.servertransaction.ActivityResultItem.execute(android.app.ClientTransactionHandler, android.os.IBinder, android.app.servertransaction.PendingTransactionActions) (ActivityResultItem.java:49)
at void android.app.servertransaction.TransactionExecutor.executeCallbacks(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:108)
at void android.app.servertransaction.TransactionExecutor.execute(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:68)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1816)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:193)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6718)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:493)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.amazonaws.mobileconnectors.cognitoauth.handlers.AuthHandler" on path: DexPathList[[zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/base.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_dependencies_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_resources_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_0_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_1_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_2_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_3_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_4_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_5_apk.apk", zip file "/data/app/com.thu
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:134)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at com.amazonaws.mobile.client.AWSMobileClient com.amazonaws.mobile.client.AWSMobileClient.getInstance() (AWSMobileClient.java:-1)
at void com.thugdroid.awstest.MainActivity.signInToAws(com.google.android.gms.auth.api.signin.GoogleSignInAccount) (MainActivity.java:59)
at void com.thugdroid.awstest.MainActivity.handleGoogleSiginInIntent(com.google.android.gms.tasks.Task) (MainActivity.java:86)
at void com.thugdroid.awstest.MainActivity.onActivityResult(int, int, android.content.Intent) (MainActivity.java:78)
at void android.app.Activity.dispatchActivityResult(java.lang.String, int, int, android.content.Intent, java.lang.String) (Activity.java:7462)
at void android.app.ActivityThread.deliverResults(android.app.ActivityThread$ActivityClientRecord, java.util.List, java.lang.String) (ActivityThread.java:4391)
at void android.app.ActivityThread.handleSendResult(android.os.IBinder, java.util.List, java.lang.String) (ActivityThread.java:4440)
at void android.app.servertransaction.ActivityResultItem.execute(android.app.ClientTransactionHandler, android.os.IBinder, android.app.servertransaction.PendingTransactionActions) (ActivityResultItem.java:49)
at void android.app.servertransaction.TransactionExecutor.executeCallbacks(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:108)
at void android.app.servertransaction.TransactionExecutor.execute(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:68)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1816)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:193)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6718)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:493)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:858)
Rejecting re-init on previously-failed class java.lang.Class<com.amazonaws.mobile.client.AWSMobileClient$10>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/amazonaws/mobileconnectors/cognitoauth/handlers/AuthHandler;
at com.amazonaws.mobile.client.AWSMobileClient com.amazonaws.mobile.client.AWSMobileClient.getInstance() (AWSMobileClient.java:-1)
at void com.thugdroid.awstest.MainActivity.signInToAws(com.google.android.gms.auth.api.signin.GoogleSignInAccount) (MainActivity.java:59)
at void com.thugdroid.awstest.MainActivity.handleGoogleSiginInIntent(com.google.android.gms.tasks.Task) (MainActivity.java:86)
at void com.thugdroid.awstest.MainActivity.onActivityResult(int, int, android.content.Intent) (MainActivity.java:78)
at void android.app.Activity.dispatchActivityResult(java.lang.String, int, int, android.content.Intent, java.lang.String) (Activity.java:7462)
at void android.app.ActivityThread.deliverResults(android.app.ActivityThread$ActivityClientRecord, java.util.List, java.lang.String) (ActivityThread.java:4391)
at void android.app.ActivityThread.handleSendResult(android.os.IBinder, java.util.List, java.lang.String) (ActivityThread.java:4440)
at void android.app.servertransaction.ActivityResultItem.execute(android.app.ClientTransactionHandler, android.os.IBinder, android.app.servertransaction.PendingTransactionActions) (ActivityResultItem.java:49)
at void android.app.servertransaction.TransactionExecutor.executeCallbacks(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:108)
at void android.app.servertransaction.TransactionExecutor.execute(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:68)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1816)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:193)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6718)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:493)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.amazonaws.mobileconnectors.cognitoauth.handlers.AuthHandler" on path: DexPathList[[zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/base.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_dependencies_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_resources_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_0_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_1_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_2_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_3_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_4_apk.apk", zip file "/data/app/com.thugdroid.awstest-z3VQ3OBLMKt2xmXSalamxg==/split_lib_slice_5_apk.apk", zip file "/data/app/com.thu
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:134)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at com.amazonaws.mobile.client.AWSMobileClient com.amazonaws.mobile.client.AWSMobileClient.getInstance() (AWSMobileClient.java:-1)
at void com.thugdroid.awstest.MainActivity.signInToAws(com.google.android.gms.auth.api.signin.GoogleSignInAccount) (MainActivity.java:59)
at void com.thugdroid.awstest.MainActivity.handleGoogleSiginInIntent(com.google.android.gms.tasks.Task) (MainActivity.java:86)
at void com.thugdroid.awstest.MainActivity.onActivityResult(int, int, android.content.Intent) (MainActivity.java:78)
at void android.app.Activity.dispatchActivityResult(java.lang.String, int, int, android.content.Intent, java.lang.String) (Activity.java:7462)
at void android.app.ActivityThread.deliverResults(android.app.ActivityThread$ActivityClientRecord, java.util.List, java.lang.String) (ActivityThread.java:4391)
at void android.app.ActivityThread.handleSendResult(android.os.IBinder, java.util.List, java.lang.String) (ActivityThread.java:4440)
at void android.app.servertransaction.ActivityResultItem.execute(android.app.ClientTransactionHandler, android.os.IBinder, android.app.servertransaction.PendingTransactionActions) (ActivityResultItem.java:49)
at void android.app.servertransaction.TransactionExecutor.executeCallbacks(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:108)
at void android.app.servertransaction.TransactionExecutor.execute(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:68)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1816)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:193)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6718)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:493)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:858)D/AWSMobileClient: _federatedSignIn: Putting provider and token in store W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.amazonaws.mobile.client.AWSMobileClientStore.set(java.util.Map)' on a null object reference W/System.err: atcom.amazonaws.mobile.client.AWSMobileClient._federatedSignIn(AWSMobileClient.java:1448)
at com.amazonaws.mobile.client.AWSMobileClient.federatedSignIn(AWSMobileClient.java:1358)
at com.thugdroid.awstest.MainActivity.signInToAws(MainActivity.java:59)
at com.thugdroid.awstest.MainActivity.handleGoogleSiginInIntent(MainActivity.java:86)
at com.thugdroid.awstest.MainActivity.onActivityResult(MainActivity.java:78)
at android.app.Activity.dispatchActivityResult(Activity.java:7462)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4391)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4440)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)E/InternalCallback: Duplicate call to execute code.
java.lang.RuntimeException: Internal error, duplicate call
at com.amazonaws.mobile.client.internal.InternalCallback.async(InternalCallback.java:93)
at com.amazonaws.mobile.client.AWSMobileClient.federatedSignIn(AWSMobileClient.java:1358)
at com.thugdroid.awstest.MainActivity.signInToAws(MainActivity.java:59)
at com.thugdroid.awstest.MainActivity.handleGoogleSiginInIntent(MainActivity.java:86)
at com.thugdroid.awstest.MainActivity.onActivityResult(MainActivity.java:78)
at android.app.Activity.dispatchActivityResult(Activity.java:7462)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4391)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4440)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)E/AndroidRuntime: FATAL EXCEPTION: Thread-4
Process: com.thugdroid.awstest, PID: 27446 java.lang.NullPointerException: Attempt to invoke interface method 'void com.amazonaws.mobile.client.Callback.onError(java.lang.Exception)' on a null object reference
at com.amazonaws.mobile.client.internal.InternalCallback.call(InternalCallback.java:77)
at com.amazonaws.mobile.client.internal.InternalCallback.access$000(InternalCallback.java:34)
at com.amazonaws.mobile.client.internal.InternalCallback$1.run(InternalCallback.java:103)
at java.lang.Thread.run(Thread.java:764)I/Process: Sending signal. PID: 27446 SIG: 9 Application terminated.
Run Code Online (Sandbox Code Playgroud)
通过将此依赖项添加到build.gradle(app)来解决
implementation('com.amazonaws:aws-android-sdk-cognitoauth:2.15.+@aar') { transitive=true }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1615 次 |
| 最近记录: |