Tentando criar um aplicativo Android com integração com o Facebook, cheguei à parte dos documentos em que você precisa gerar um arquivo hash chave, que especifica a execução do código a seguir
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore
| openssl sha1 -binary
| openssl base64
Quando executo isso no meu terminal, recebo um erro para o Keystore violado ou a senha estava incorreta,
Eu só quero gerar meu Key Hash
Alguém pode me apontar na direção certa?
android
facebook
android-keystore
Scott
fonte
fonte
Respostas:
Exclua seu certificado de depuração em ~ / .android / debug.keystore (no Linux e Mac OS X); o diretório é algo como% USERHOME% /. android no Windows.
O plug-in do Eclipse deve gerar um novo certificado na próxima tentativa de compilar um pacote de depuração.
Deixe-me saber se isso funciona.
fonte
Para gerar o hash da chave, você precisa seguir algumas etapas fáceis.
1) Faça o download do Openssl de: aqui.
2) Crie uma pasta openssl na unidade C
3) Extraia arquivos Zip para esta pasta openssl criada no C Drive.
4) Copie o arquivo debug.keystore da pasta .android no meu caso (C: \ Users \ SYSTEM.android) e cole na pasta bin do JDK no meu caso (C: \ Arquivos de programas \ Java \ jdk1.6.0_05 \ bin)
5) Abra o prompt de comando e forneça o caminho da pasta JDK Bin no meu caso (C: \ Arquivos de Programas \ Java \ jdk1.6.0_05 \ bin).
6) Copie o seguinte código e pressione enter
7) Agora você precisa digitar a senha , Senha = android.
8) Se você vir na pasta bin openssl , receberá um arquivo com o nome de debug.txt
9) Agora você pode reiniciar o prompt de comando ou trabalhar com o prompt de comando existente
10) volte para a unidade C e especifique o caminho da pasta openssl Bin
11) copie o seguinte código e cole
12) você receberá debug_sha.txt na pasta openssl bin
13) Copie novamente o código a seguir e cole
14) você obterá debug_base64.txt na pasta openssl bin
15) abra o arquivo debug_base64.txt Aqui está o seu hash da chave.
fonte
RESPOSTA ATUALIZADA (Gerando através do código) Método mais simples:
Na minha experiência, openssl sempre sendo problemático, tentei o segundo método sugerido pelo facebook. E é maravilhoso. Este é o melhor método para obter a chave de hash.
A segunda opção é imprimir o hash da chave enviado ao Facebook e usar esse valor. Faça as seguintes alterações no método onCreate () em sua atividade principal:
Substitua com.facebook.samples.loginhowto pelo seu próprio nome de pacote (nome do pacote em Manifest.xml).
Link oficial - https://developers.facebook.com/docs/android/login-with-facebook/ (Veja o final da página)
RESPOSTA ANTIGA (Gerando Keyhash usando o openssl)
openssl
:, Criar pastaopenssl
pasta naC:
unidadebin
deopenssl
por exemploC:\openssl\bin
em linha de comandosexecute o seguinte comando para gerar seu keyhash. Ao gerar o hashkey, ele deve solicitar sua senha.
keytool -exportcert -alias androiddebugkey -keystore "C: \ Usuários \ Anhsirk.android \ debug.keystore" | openssl sha1 -binário | openssl base64
NOTA : no código acima, observe que você precisa indicar o caminho para o usuário (ou seja, no meu caso, é C: \ Users \ Anhsirk, basta alterar isso na sua conta de usuário.
. Se ele não solicitar a senha, seu caminho do keystore estará incorreto.
Se tudo funcionar bem, deve fornecer a hashkey abaixo.
fonte
Maneira mais simples de gerar chave de hash.
Requisito: Chave SHA1
Você pode obter a Chave SHA1 do seu arquivo keystore de duas maneiras
1) Localize o arquivo keystore, abra o prompt de comando nesse local e use o comando abaixo mencionado
e, em seguida, digite sua senha e retornará as teclas md5, sha1 e sha256.
OU
2) Executando signatureReport
Consulte a imagem abaixo.
Depois de executar o arquivo, sua saída será gerada contendo a chave sha1 necessária.
Depois de obter a chave SHA1 necessária
Então vá para
http://tomeko.net/online_tools/hex_to_base64.php
e cole sua chave sha1
e, finalmente, você receberá o HashKey obrigatório, que poderá ser usado para aplicar no facebook.
fonte
A chave certa pode ser obtida no próprio aplicativo adicionando o código a seguir para definir o hash da chave adequado (no caso do Facebook SDK 3.0 em diante, isso funciona)
Substitua com.package.mypackage pelo nome do seu pacote
fonte
I. Criar depuração de hash chave para o facebook
Adicione código para imprimir o hash da chave do facebook
II Criar liberação de hash chave para o facebook
Openssl-0.9.8e_X64 download grátis
Crie uma pasta openssl na unidade C
Extrair arquivos Zip para a pasta openssl
Iniciar -> Executar: cmd (pressione enter)
(pressione) cd C: \ Arquivos de programas \ Java \ jdk1.6.0_45 \ bin. Nota: C: \ Arquivos de programas \ Java \ jdk1.6.0_45 \ bin: é o caminho para a pasta jdk no seu computador
(pressione) keytool -exportcert -alias gci -keystore D: \ folder \ keystorerelease | C: \ openssl \ bin \ openssl sha1 -binário | C: \ openssl \ bin \ openssl base64. Nota: D: \ folder \ keystorerelease: é o caminho para o seu keystorerelease
Digite a senha do keystore: Essa é a senha quando o seu registro é liberado.
Então você terá um hash da chave: jDehABCDIQEDWAYz5Ow4sjsxLSw =
Entrar no Facebook. Acesso para gerenciar aplicativos. Cole o hash da chave no seu aplicativo em developers.facebook.com
fonte
SOLUÇÃO MAIS SIMPLES PARA ESTE PROBLEMA:
Eu tenho esse problema há dois meses. Meus hashes principais aumentaram até 9. Hoje, finalmente encontrei a solução simples:
PASSO 1:
Instale o facebook sdk que você baixou da página de desenvolvedor do facebook no seu telefone. Não instale o aplicativo normal do facebook. Certifique-se de que você pode entrar no facebook. Então saia.
PASSO 2:
Exporte seu aplicativo com sua chave de lançamento final como um apk, como faria ao enviá-lo para o playstore.
ETAPA 3:
Coloque o arquivo Apk no seu telefone via cabo USB ou pendrive.
PASSO 4:
Instale seu aplicativo usando um gerenciador de arquivos: Exemplo
PASSO 5:
Inicie seu aplicativo e tente fazer login com o facebook. Uma caixa de diálogo será aberta e informará: "a chave YOURHASHKEY não foi encontrada no console do desenvolvedor do facebook"
PASSO 6:
Anote a chave.
PASSO 7:
Coloque-o no console do desenvolvedor do facebook e salve. Agora você está pronto. Qualquer pessoa que faça o download do seu aplicativo, publicada com o keystore usado anteriormente, pode fazer login no facebook.
Aproveitar
fonte
Se você estiver liberando, use o keystore usado para exportar seu aplicativo e não o debug.keystore.
fonte
A senha do certificado de depuração é android e não Android
fonte
Finalmente :)
Aqui está a minha história:
Adicione esse código à sua atividade principal, depois de definir o layout.
Mude PROJECTNAME para o nome do seu pacote!
fonte
Solução de uma linha para gerar para o facebook
fonte
Para gerar o hash da chave de liberação, você precisa seguir algumas etapas fáceis.
1) Faça o download do Openssl
2) Crie uma pasta openssl na unidade C
3) Extraia arquivos Zip para esta pasta openssl criada no C Drive.
4) Copie o arquivo debug.keystore da pasta .android no meu caso (C: \ Users \ SYSTEM.android) e cole na pasta bin do JDK no meu caso (C: \ Arquivos de programas \ Java \ jdk1.6.0_05 \ bin)
5) Abra o prompt de comando e forneça o caminho da pasta JDK Bin no meu caso (C: \ Arquivos de Programas \ Java \ jdk1.7.0_40 \ bin).
6) Copie o seguinte código e pressione enter
keytool -exportcert -alias abcd-keystore D: \ Projetos \ MyAppFolder \ keystore.txt | C: \ openssl \ bin \ openssl sha1 - binário | C: \ openssl \ bin \ openssl base64 ex - keytool -exportcert -alias (o nome do seu apelido apk para entrar aqui como meu signo apk o nome do alian é abcd) -keystore "keystore gerado apk apk apth enter aqui" | "caminho da pasta bin openssl entre aqui" sha1 - binário | "caminho da pasta openssl bin entre aqui" base64
7) Agora você precisa digitar a senha, Senha = (digite sua senha de armazenamento de chaves aqui)
8) você tem o keystore usado para liberar o hash da chave do aplicativo
fonte
Mesmo que esse tópico seja antigo, gostaria de compartilhar minha experiência (recentemente comecei a trabalhar com o facebook), o que me parece correto:
Para obter a chave de desenvolvimento para a integração do facebook, use o seguinte comando na linha de comando do Windows:
keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% .android \ debug.keystore | "C: \ openssl \ bin \ openssl.exe" sha1 -binário | "C: \ openssl \ bin \ openssl.exe" base64
Digite android como senha, como mostrado acima.
É isso aí! Você receberá uma chave de 28 caracteres. Felicidades!
Use o mesmo procedimento para obter a chave Release. Apenas substitua o comando pelo seguinte e use o alias da chave de liberação.
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | "PATH FOR openssl.exe" sha1 -binário | openssl base64
fonte
Gerar chave de hash de depuração
Gerar chave de hash de liberação
fonte
Ótimo post sobre o assunto
Extraindo o hash de chave da chave .p12
Ótimo e simples editor hexadecimal para mac: HexFiend
O OpenSSL deve estar pré-instalado no mac, e aqui está o link para a versão do Windows.
Ligação
fonte
AppEntry
Tente passar a senha da chave e armazene como parte do comando
fonte
Eu era capaz de executar a tarefa solicitada com algumas das soluções aqui, mas pensei comigo mesmo, garoto que é estúpido ... por que não escrever um pequeno código Java que faz isso e empacotá-lo em um Jar, foi o que fiz. ..
Um link para baixar o Jar
Funciona no Windows 8 ... não tentou nenhum outro sistema operacional.
fonte
Oi pessoal, é a minha história, como eu assinei, tem uma chave para o facebook
Antes de tudo, basta copiar estes 2 métodos na sua primeira aula
** Chame a função getAppKeyHash () do seu método oncreate, se você quiser o hash assinado, faça a instalação assinada, instale a construção assinada e execute. APK assinado **
fonte
Se a sua senha = android estiver errada, coloque a senha do seu PC que funciona para mim.
E para gerar keyHash tente este link aqui
fonte
A única coisa que funciona para mim é usar a senha
android
. Por que isso não é mencionado em nenhum guia por aí?fonte
use isso no kotlin para hash da chave de impressão no log
fonte