Войти с google для android, не работающий в release apk

Я добавил Google Войти в свое приложение и сделал его работу, выполнив все шаги в официальной документации. Все работало нормально, пока я не сгенерировал подписанный apk для публикации. Приложение не могло войти в систему,

Log.d(TAG, "handleSignInResult:" + result.isSuccess());

в SignInActivity.java handleSignInResult() дает значение как false.

Я зарегистрировал приложение на консоли разработчика и предоставил ключ SHA1 для их отладочного ключа, а также ключа выпуска. Я не могу решить эту проблему и не могу найти ничего, что связано с документацией.

Ответ 1

Наконец решил. Я добавил ключ SHA1 для ключа release (файл .jks) в Консоли Google Developers в рамках зарегистрированного проекта. В Android Studio с левой стороны есть опция для вариантов сборки в представлении проекта. Там я изменил каждый модуль на release (по умолчанию он находится в режиме debug). Затем создайте подписанный APK обычным способом и запустите приложение. Google Signin отлично работал.

Изменение вариантов сборки

Ответ 2

Когда вы загружаете APK в Play Store, Play Store создает новый ключ SHA1, который называется "Сертификат подписи приложения". Вы получаете этот SHA1 и сохраняете в своей консоли или учетной записи Firebase (по мере необходимости).

Новый SHA1 будет найден в Released Management-> App Sigining на вашей игровой консоли.

или же

когда вы создаете подписанный apk с вашим filename.jks, он имеет другой SHA, чем ваш отладочный apk, поместите этот SHA, сгенерированный подписанным apk, в Firebase, обновите его и снова загрузите json из firebase и переопределите существующий json из вашей студии android.

Для полного процесса выпуска вы можете перейти здесь