Google SignIn в моем приложении для Android работает отлично (я могу войти в систему, используя любые учетные записи Google на телефоне), когда я скомпилировал код на своем ежедневном ноутбуке. Но когда я клонировал код на своем другом ноутбуке и скомпилировал его там, он всегда возвращал ошибку Code 10.

Вот полный e.printStackTrace()

 W/System.err: com.google.android.gms.common.api.ApiException: 10: 
 W/System.err:     at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source:4)
 W/System.err:     at com.google.android.gms.auth.api.signin.GoogleSignIn.getSignedInAccountFromIntent(Unknown Source:8)
 W/System.err:     at com.imincode.earthlings.view.ui.Register.onActivityResult(Register.kt:443)
 W/System.err:     at android.app.Activity.dispatchActivityResult(Activity.java:8110)
 W/System.err:     at android.app.ActivityThread.deliverResults(ActivityThread.java:4839)
 W/System.err:     at android.app.ActivityThread.handleSendResult(ActivityThread.java:4887)
 W/System.err:     at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
 W/System.err:     at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
 W/System.err:     at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
 W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2017)
 W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:107)
 W/System.err:     at android.os.Looper.loop(Looper.java:214)
 W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:7403)
 W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
 W/System.err:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
 W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)

В моих учетных данных проекта console.developers.google.com в разделе «Ограничения приложений» я выбрал приложения для Android и трижды подтвердил, что установил правильный SHA-1 signing-certificate fingerprint как с моего обычного компьютера, так и с другого ноутбука.

Изменить: И я могу подтвердить, что google-services.json находится в папке app на обоих машинах.

0
imin 16 Июл 2020 в 17:58

1 ответ

Лучший ответ

Решение состоит в том, чтобы добавить ключ SHA к вашему проекту в вашей базе данных, перейдите к:

Обзор проекта -> Щелкните значок настроек -> Настройки проекта -> Общие -> Прокрутите вниз под именем вашего пакета -> Добавьте свой ключ SHA

1
Dharman 16 Июл 2020 в 15:22