Войти с 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.
Для полного процесса выпуска вы можете перейти здесь