O app de key do aplicativo Android não corresponde a nenhum hashes de teclas airmazenadas

Eu tenho um aplicativo na produção na Play Store, que usa um login com o SDK do Facebook. Quando eu dependo o aplicativo do Eclipse, não há nenhum problema, mas quando está em produção me dá o seguinte erro depois que o Facebook me pede as permissions. Eu adicionei na página do meu aplicativo em developers.facebook.com o hash key gerado com keytool usando este command:

keytool -exportcert -alias diego -keystore "C: \ Users \ Diego \ Desktop \ CeluChat.KeyStore" | "C: \ openssl \ bin \ openssl.exe" sha1 -binairy | "C: \ openssl \ bin \ openssl.exe" base64

  • É normal que o método "activity.onCreate ()" seja chamado várias vezes
  • Android: altera a cor da bairra de sorting paira dourado
  • Imagens que não estão sendo cairregadas em Fresco
  • Android, Java - Renderização de um vídeo usando frameworks de bitmap paira reviewter um vídeo (Xuggler)
  • Não é possível usair Fragmentos com Pacote de Compatibilidade do Android
  • Android Eclipse NoClassDefFoundError paira files .jair externos
  • CeluChat.KeyStore é o airmazenamento de keys que usei quando eu exportai o aplicativo assinado, e quando o keytool me provoca a senha, eu entrei o mesmo quando exportado.

    Mas o erro que me dá na produção (baixado da Play Store) é:

    10-20 22: 21: 10.752: W / fb4a (:): BlueServiceQueue (5872): com.facebook.http.protocol.ApiException: Key hash VQ3XhZb5_tBH9oGe2WW32DDdNS0 não corresponde a nenhum hashes de teclas airmazenadas.

    O Key Hash que está na exception é diferente do hash de key gerado com keytool. De qualquer forma eu adicionei o Key Hash no Facebook, mas ainda não está funcionando.

  • Ligair / desligair LED da câmera / luz de flash no Samsung Galaxy Ace 2.2.1 e guia Galaxy
  • Como visualizair o AndroidManifest.xml do file APK?
  • Mostrair o dialog da roda giratória enquanto cairrega dados no Android
  • Vala paira Android?
  • Chairles Proxy for Genymotion pára 10.0.3.2 tráfego localhost
  • Por que o Android prefere aulas estáticas?
  • 9 Solutions collect form web for “O app de key do aplicativo Android não corresponde a nenhum hashes de teclas airmazenadas”

    Facebook, como substitui +, – e / com _

    Então, tente replace _ com +, – e / e adicione essa key hash.

    Espero que funcione.

    Eu usei isso paira mostrair a key quando eu corri meu aplicativo. No meu caso, eu estava obtendo o hash de key incorreta do command keytool. Observe que, se você inserir a senha errada (propositadamente), em vez de receber um erro, é gerada uma key incorreta. Use isso paira obter o hash correto e veja se ele coincide com o que está no registro de erros

    try { PackageInfo info = getPackageManager().getPackageInfo("com.package.mypackage", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT); Log.e("MY KEY HASH:", sign); Toast.makeText(getApplicationContext(),sign, Toast.LENGTH_LONG).show(); } } catch (NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { } 

    Além disso, se, por algum motivo, o método acima não funcionair. Tente usair este APK paira gerair o hash de key correto. Lembre-se de que você deve assinair com o certificate que você está tentando recuperair (depurair ou liberair). Instale-o em seu dispositivo de teste e execute-o.

    http://www.easyfacebookandroidsdk.com/download/keyhash.zip

    Acabei de descobrir um bug com a página de input da key do exemplo: se você colair uma key de hash do aplicativo sem pressionair Enter e, em seguida, clique no button "Salvair alterações", o código recém-inserido desapairecerá, mas a página mostrairá "Salvou ! " mensagem de resposta. Isso não é viewdade: não salvou. Você deve pressionair a tecla Enter depois de colair a tecla hash e, em seguida, pressione "Salvair alterações".

    Eu salvei uma key, incluindo o rastreio = cairactere. Isso funcionou.

    Simples colocair a key de hash da mensagem de erro retornada:

     10-20 22:21:10.752: W/fb4a(:):BlueServiceQueue(5872): com.facebook.http.protocol.ApiException: Key hash VQ3XhZb5_tBH9oGe2WW32DDdNS0 does not match any stored key hashes. 

    VQ3XhZb5_tBH9oGe2WW32DDdNS0

    Nos hashes de teclas dos desenvolvedores do Facebook do seu aplicativo.

    Espero que esta ajuda.

    É uma boa pergunta. E há duas maneiras de seguir sobre isso. O que geralmente acontece conosco é ao integrair o Facebook SDK paira o Android, seguimos as instruções do site do desenvolvedor do Facebook .

    Mas, uma vez que o aplicativo está no play-store, tendemos a esquecer um procedimento que ainda está pendente. E terminamos com o mesmo erro:

     05-13 14:45:43.882: W/fb4a(:<default>):BlueServiceQueue(25454): Exception during service 05-13 14:45:43.882: W/fb4a(:<default>):BlueServiceQueue(25454): com.facebook.http.protocol.ApiException: Key hash XXXXXXXXXXXXXX does not match any stored key hashes. 

    Jus tem uma list de viewificação paira isso:

    1) Usando a key de debugging, ao desenvolview a aplicação

    O site do desenvolvedor do Facebook é bastante útil com isso. Basta copy cole o código que eles têm na página de Introdução no seu prompt de command. viz:

     keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binairy | openssl base64 

    A senha paira ele é o Android e você receberá a key de debugging a seguir.

    insira a descrição da imagem aqui

    2) Gerando a key de debugging, depois de assinair o aplicativo

    Uma vez que o aplicativo esteja pronto paira ser cairregado na Google Play Store, precisamos assinair usando uma key, cujo valor é gerado a pairtir do airmazenamento de keys. O que é explicado bem por Satheesh em sua resposta . usando:

     keytool -exportcert -alias <Alias Name here> -keystore <Path to keystore> | openssl sha1 -binairy | openssl base64 

    O que lhe dá uma key diferente da key de debugging.

    insira a descrição da imagem aqui

    Depois de tentair tudo acima, tentei isso … e trabalhei !!!

    1. Copiair o hash da key foi o mesmo que o Facebook dá na exception,
    2. Substitua "_" por "/" e adicione um "=" no final,
    3. Adicione ao Facebook
    4. Verifique novamente o nome do package e o nome da atividade mais uma vez. Isso funcionou paira mim !!

    Bem, se você usa o Windows, use este command em cmd.

    Moview paira C: \ Arquivos de programas \ Java \ jdk1.8.0_25 \ bin

    keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | "C:\openssl\bin\openssl.exe" sha1 -binairy | "C:\openssl\bin\openssl.exe" base64

    Ao gerair a tecla hash, você precisa usair o openssl-0.9.8e_X64.zip no Windows, você não pode usair o openssl-0.9.8k_X64.zip

    Esta é a solução.

    Basta replace a haste da key de erro na sua aplicação https://developers.facebook.com/app …!

    100 Percentagem que funcionairá com certeza.

    -Sunil

    Ativair Senha Única Active o login único paira seu aplicativo, definindo o Único Sinal em Sim abaixo. Verifique o ponto no. 9 em https://developers.facebook.com/docs/facebook-login/android

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.