Como gerar uma chave de hash de 11 caracteres para o Sms Retriever com a assinatura do Google App
Eu havia gerado o hash de 11 caracteres usando oAppSignatureHelper
classe. Mas depois de fazer o upload do apk para jogar, o hash não funciona mais. E descobri que o Play substitui a chave por outra, e é por isso que o hash também é alterado. Agora estou tendo problemas para obter a chave de hash de 11 caracteres.
Não sei como usar os comandos dados pelo Google. Encontrei este comando deaqui
keytool -exportcert -alias MyAndroidKey -keystore MyProductionKeys.keystore | xxd -p | tr -d "[:space:]" | echo -n com.example.myapp `cat` | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11
Como a assinatura do aplicativo Play está ativada para o meu aplicativo, precisarei usar este comando,
keytool -exportcert -keystore MyProductionKeys.keystore | xxd -p | tr -d "[:space:]" | echo -n com.example.myapp `cat` | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11
Eu substituíkeytool
com o caminho a partir da pasta bin do JDK, mas ele diziaxxd
não foi reconhecido, então eu baixei de um site agora está dizendotr
não é reconhecido, acho que dirá que paracut
também.
Por favor, perdoe-me se me parecer pedir demais, mas como posso resolver isso?
ATUALIZAR: Eu tentei o segundo comando de cima em uma máquina Linux, o comando funcionou e me deu um hash de 11 caracteres, mas o SMS Retriever ainda não está funcionando.
SOLUÇÃO: Com a ajuda da resposta de Nick Fortescue, baixei o arquivo formatado em DER. Em seguida, converteu-o em um arquivo .jks usando o seguinte comando,
keytool -importcert -alias myalias -file deployment_cert.der -keystore certificate.jks -storepass mypassword
Em seguida, executei o primeiro comando de cima no certificate.jks e funcionou!