Было бы проще сгенерировать хеш с помощью этого кода.
Просто позвоните ниже строки и напечатайте свою подпись.
ArrayList<String> sigList = (new AppSignatureHelper(this)).getAppSignatures()
Код ссылки: https://github.com/googlesamples/android-credentials/blob/master/sms-verification/android/app/src/main/java/com/google/samples/smartlock/sms_verify/AppSignatureHelper.java
Обновление:
Хеш-код для версии отладки и выпуска будет отличаться.Убедитесь, что вы используете определенный хэш-код приложения для сообщения otp с необходимым форматом.
AppSignatureHelper предоставит хэш-код, с помощью которого apk подписан.Создайте apk релиза и напечатайте хеш-код в журнале, чтобы получить хеш-код конкретного релиза.
Обновление:
Другой подход к генерации с помощью команды, упомянутой в: https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string
Однако, если вы используете Windows, он может не работать, поскольку у вас нет бинарной (команды), такой как xxd или tr.в этом случае вы должны загрузить эти exe-файлы из другого места.
Если вы используете git, вы можете найти их в "C: \ Program Files \ Git \ usr \ bin \", в этом случае выполнитеэто шаги.
- Добавьте путь "C: \ Program Files \ Git \ usr \ bin \" в переменные среды.
- Перезапустите командную строку.поэтому xxd и tr начинают работать в командной строке.
- применить указанную команду в ссылке.
keytool -exportcert -alias MY_ANDROID_KEY -keystore MY_PRODUCTION_KEY | xxd -p | tr -d "[:space:]" | echo -n MY_PACKAGE_NAME
cat | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11
Где в команде
Здесь, если вы столкнулись с ошибкой вроде tr: write error: Illegal seek
, вы можете вызвать cammand до tr как ->
keytool -exportcert -alias MY_ANDROID_KEY -keystore MY_PRODUCTION_KEY | xxd -p | tr -d "[:space:]"
в этом случае вы получите строку длиной более 1800 символов.передайте пакет и строку подписи методу хэша AppSignatureHelper, он вернет ваш ключ.
(Здесь, если в конце вы используете AppSignatureHelper
, я предлагаю использовать только этот первый подход)