Eu não entendo esse processo. Consegui navegar para a pasta que contém a ferramenta de chaves no Java SDK. Embora eu continue recebendo o erro, o openssl não é reconhecido como um comando interno ou externo. O problema é que, mesmo que eu consiga fazer isso funcionar, o que eu faria e com o que depois?
182
Respostas:
Aqui está o que você precisa fazer -
Faça o download do openSSl no código Extraia-o. crie uma pasta - OpenSSL em C: / e copie o código extraído aqui.
detectar o caminho do arquivo debug.keystore. Se você não encontrou, faça uma pesquisa em C: / e use o Path no comando na próxima etapa.
detecte o caminho do keytools.exe e vá para o prompt de comando dir / in e execute este comando em 1 linha
vai pedir senha, colocar android é tudo. você receberá um hash de chave
fonte
android
.Para Linux e Mac
Terminal aberto:
Para construção de depuração
Você encontrará debug.keystore na pasta ".android". Copie e cole na área de trabalho e execute o comando acima.
Para versão Build
NOTA: Verifique se, nos dois casos, ele solicita uma senha. Se não solicitar uma senha, significa que algo está errado no comando. A senha para debug.keystore é " android " e, para a liberação, você deve inserir a senha definida durante a criação do keystore .
fonte
keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath>
sozinho, primeiro, para ver se está tudo bem. Além disso, quando canalizado, o keytool está no modo não interativo e mostra a senha em texto sem formatação quando você a digita. Então é melhor você escrever um pequeno script que execute os comandos separadamente.Por favor tente isto:
fonte
OpenSSL: Você deve instalá-lo se ele não vier pré-instalado com o sistema operacional (por exemplo, o Windows não o possui pré-instalado) . Como instalar isso depende do seu sistema operacional (para Windows, verifique o link fornecido por coder_For_Life22).
A maneira mais fácil, sem se preocupar, é copiar o binário openssl.exe para o caminho da ferramenta de chaves, se você estiver no Windows. Se você não quiser fazer isso, precisará adicioná-lo à sua
PATH
variável de ambiente. Em seguida, execute o comando fornecido nos documentos.Observe que o argumento depois
-keystore
aponta para seu keystore de depuração. Esse local também depende do seu sistema operacional. Deve estar em um dos seguintes locais:Se você fez tudo certo, deve ser solicitada uma senha. Isso é
android
para o certificado de depuração. Se a senha estiver correta, o console imprimirá um hash (caracteres e números aleatórios).Pegue isso e copie-o no
android key hash
campo dentro das preferências do seu aplicativo no facebook. Para chegar lá, vá para developers.facebook.com/apps , selecione seu aplicativo, vá paraEdit settings
e role para baixo. Depois disso, aguarde alguns minutos até que as alterações entrem em vigor.fonte
para gerar seu hash de chave no computador local, execute o utilitário keytool do Java (que deve estar no caminho do console) no keystore de depuração do Android. Por padrão, isso está no diretório .android inicial). No OS X, execute:
No Windows, use: -
espero que isso ajude você
Ref - desenvolvedor facebook site
fonte
Aqui estão os detalhes completos (para Windows)
1. Faça o download do OpenSSl 3º ou 4º (com o e funcionará melhor) com base no sistema 32 bits ou 64 bits.
2) Extraia o zip baixado dentro do diretório C
3. Abra a pasta extraída até a lixeira e copie o caminho, deve ser algo como
C:\openssl-0.9.8k_X64\bin\openssl
(add \ openssl no final)4) (Obtenha o caminho para a pasta bin do Jdk, se você souber como, ignore).
Abra o android studio ~ arquivo ~ estrutura do projeto (ctrl + alt + shift + s), selecione o local do SDK no painel esquerdo, copie o local do JDK e inclua / bin nele
Então a localização final do JDK será como
C:\Program Files\Android\Android Studio\jre\bin
estamos seguindo este método para obter a localização do Jdk porque você pode usar o jdk incorporado como eu
agora você tem localização OpenSSl e localização JDK
5. agora precisamos de um local de depuração do keystore, para que C ~> Users ~> YourUserName ~> .android abra um nome de arquivo debug.keystore, agora copie o local do caminho, deve ser algo como
C:\Users\Redman\.android\debug.keystore
6. agora abra o prompt de comando e digite command
No meu caso
7. agora construa o seguinte comando
no meu caso, o comando será semelhante
Agora, insira este comando no prompt de comando; se você acertou, será solicitada uma senha (a senha é android)
é isso, você receberá o Key Hash, basta copiá-lo e usá-lo
Para KeyHash assinado, construa o seguinte comando
digite sua senha do keystore. Se você digitar a senha errada, o KeyHash será errado
NOTA
Se por algum motivo, se der algum erro em algum caminho, envolva-o entre aspas duplas. Além disso, o shell de energia do Windows não estava funcionando bem para mim, usei o git bash (ou use o prompt de comando).
exemplo
fonte
Você pode simplesmente usar o javascript de uma linha no console do navegador para converter uma chave de mapa hexadecimal em base64. Abra o console no último navegador (F12 no Windows) e cole o código e substituir o
SHA-1
,SHA-256
mapa hexagonal que o Google Play oferece sobRelease Managment
>App signing
:fonte
Há uma solução curta também. Basta executar isso no seu aplicativo:
Um mais longo que não precisa do SDK do FB (com base em uma solução aqui ):
O resultado deve terminar com "=".
fonte
-AAAAAAAA_AAAAAA-AAAAAAAAAA
isso não é permitido pelo Facebook, printHashKey retornou a chave em um formato válido+AAAAAAAA/AAAAAA+AAAAAAAAAA=
Para Windows:
Digite a senha: android -> Pressione Enter
Copiar chave de hash gerada -> Entre no Facebook com sua conta de desenvolvedor
Vá para o seu aplicativo no Facebook -> Configurações -> Colar chave Hash na opção "key hashes" -> salvar as alterações.
Agora teste seu aplicativo Android com o Facebook Login / Share etc.
fonte
Desde a API 26, você pode gerar suas HASH KEYS usando o código a seguir no KOTLIN sem precisar do SDK do Facebook.
fonte
class MainActivity: FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GeneratedPluginRegistrant.registerWith(this) } }
Foi assim que obtive o meu:
Portanto, quando você estiver tentando entrar sem a chave, ocorrerá uma exceção. O Facebook colocou a chave DIREITA nessa exceção. Tudo que você precisa fazer é copiá-lo.
fonte
Se você já fez o upload do aplicativo na Play Store, pode gerar a Hash Key da seguinte maneira:
1) Vá para Gerenciamento de Liberação aqui
2) Selecione Gerenciamento de liberação -> Assinatura de aplicativo
3) Você pode ver a chave SHA1 no certificado de assinatura do aplicativo em formato hexadecimal.
4) Copie o SHA1 no formato hexadecimal e converta-o para o formato base64. Você pode usar este link sem a parte SHA1: hexadecimal.
5) Vá para o console do desenvolvedor do Facebook e adicione a chave (depois de converter para a base 64) nas configurações -> básico -> hashes de chave.
fonte
Para facilitar o link do tutorial vedio para o KeyHash gerar aqui
Faça o download do openssl AQUI
fonte
Faça o download do ssl aberto :
Em seguida, adicione openssl \ bin às variáveis do sistema de caminho:
Meu computador -> propriedades -> Configurações avançadas -> Avançadas -> Variáveis do sistema -> nas variáveis do sistema, localize o caminho e adicione-o aos seus finais:; yourFullOpenSSLDir \ bin
Agora abra uma linha de comando na pasta jdk \ bin C: \ Arquivos de Programas \ Java \ jdk1.8.0_40 \ bin (no Windows, mantenha pressionada a tecla Shift e clique com o botão direito do mouse -> abrir linha de comando aqui) e use:
E copie o número de 28 comprimentos que gera depois de fornecer a senha.
fonte
Execute isso no seu aplicativo:
Ou isto:
E então olhe para os logs.
O resultado deve terminar com "=".
A solução é baseada aqui e aqui .
fonte
EASY WAY -> Não instale o openssl -> USE GIT BASH!
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
A senha padrão é "android"
A maioria de nós tem o Git Bash instalado, então essa é a minha maneira favorita.
fonte
isso ajudará os novatos também.
apenas adicionando mais detalhes à resposta de @ coder_For_Life22.
se esta resposta ajudar você não se esqueça de votar. isso nos motiva.
para isso, você já deve saber o caminho do arquivo de keystore e da senha do aplicativo
para este exemplo, considere que a chave está armazenada em "c: \ keystorekey \ new.jks"
1. abra esta página https://code.google.com/archive / p / openssl-for-windows / downloads
2. baixe um arquivo zip de 32 ou 64 bits conforme o sistema operacional Windows.
3. extraia o arquivo baixado onde quiser e lembre-se do caminho.
4. para este exemplo, consideramos que você extraiu a pasta na pasta de download. 5. agora no teclado, pressione windows + botão r. 6. isso abrirá a caixa de execução.
portanto, o endereço do arquivo será "C: \ Usuários \ 0 \ Downloads \ openssl-0.9.8e_X64 \ bin \ openssl.exe";
7. digite cmd e pressione Ctrl + Shift + Enter .
8. isso abrirá o prompt de comando como administrador.
9. navegue até a pasta bin do java:
se você usar o jre fornecido pelo Android Studio, encontrará o caminho da seguinte maneira:
a. Abra o android studio.
b. arquivo-> estrutura do projeto
c. no painel esquerdo, clique em 'local do SDK'
d. no painel direito, abaixo de 'JDK location' é seu caminho para o jre.
e adicione "\ bin" no final deste caminho, pois o arquivo "keytool.exe", precisamos, está dentro desta pasta. se você instalou o java de 32 bits, ele estará em "C: \ Arquivos de Programas (x86) \ Java \ jre-10.0.2 \ bin"
para este exemplo eu considero,
"C: \ Arquivos de Programas \ Java \ jre-10.0.2 \ bin"
10. agora com os caminhos acima, execute o comando da seguinte maneira:
!!!!!! isso lhe dará a chave
erros: se você obtiver:
---
'keytool' não é reconhecido como um comando interno ou externo
---
isso significa que o java está instalado em outro lugar.
fonte
etapa 1-> C: \ Arquivos de Programas \ Java \ jdk1.6.0_43 \ bin>
Etapa 2-> keytool -list -v -keystore C: \ Users \ leon \ .android \ debug.keystore -alias androiddebugkey -storepass android -keypass android
você tem valor SHA1 clique neste link u converte seu valor SHA1 em HASH KEY
tenho 100% de certeza de que este link o ajudará
fonte
Jeito fácil
Ao usar este site, você pode obter o Hash Key convertendo a chave SHA1 em Hash Key for Facebook.
fonte
Você pode obter todas as suas impressões digitais em https://console.developers.google.com/projectselector/apis/credentials
E use este código Kotlin para convertê-lo em keyhash:
fonte
https://developers.facebook.com/docs/android/getting-started/
4.19.0 - 25 de janeiro de 2017
SDK do Facebook
Modificado
Agora, o SDK do Facebook é inicializado automaticamente quando o aplicativo é iniciado. Na maioria dos casos, uma chamada manual para FacebookSDK.sdkInitialize () não é mais necessária. Consulte o guia de atualização para mais detalhes.
Para depuração
fonte
Basta executar esse código no OnCreateView Or OnStart Actvity e esta função retornará o Hash da chave de desenvolvimento .
fonte
Eu estava tendo o mesmo problema exato, não estava sendo solicitada uma senha e parece que estava com o caminho errado para o arquivo keystore.
De fato, se o keytool não encontrar o keystore que você definiu, ele criará um e fornecerá a chave errada, pois não está usando a correta.
A regra geral é que, se não for solicitada uma senha, você terá a chave errada sendo gerada.
fonte
Você pode usar este apk
fonte
Tente esta resposta
https://stackoverflow.com/a/54513168/9236994
com esforços mínimos ajuda a resolver o problema.
fonte
keytool -exportcert -alias androiddebugkey -keystore "C: \ Usuários ** Deepak **. android \ debug.keystore" | " C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binário | " C: \ Users \ Deepak \ ssl \ bin \ openssl" base64
2 Alterações no comando acima 1.Deepak === Substitua pelo sistema USERNAME 2.C: \ Users \ Deepak \ ssl === substitua o caminho do Open SSL
execute este comando e obtenha uma saída como esta
C: \ Users \ Deepak> keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ D eepak.android \ debug.keystore" | "C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binário | "C: \ Users \ Deepak \ ssl \ bin \ openssl" base64 Digite a senha do keystore: ****** ga0RGNY ******************** =
fonte
se alguém tiver problemas com o openssl, siga estas instruções:
É isso aí
https://sourceforge.net/projects/openssl/files/latest/download
fonte