Android Facebook SDK: générer de la libération de la clé de hachage
Je suis en train de construire une application dans laquelle les utilisateurs peuvent se connecter avec Facebook.
J'ai créé les clés de hachage comme suit:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.app.package",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash", "KeyHash:"+ Base64.encodeToString(md.digest(),
Base64.DEFAULT));
Toast.makeText(getApplicationContext(), Base64.encodeToString(md.digest(),
Base64.DEFAULT), Toast.LENGTH_LONG).show();
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
En mode debug, tout fonctionne bien.
Lorsque j'exporte le projet de libération, il donne cette erreur:
"Invalid key hash. The key hash ****************** does not match any stored key hashes"
Je collez la clé imprimés dans l'Facebook tableau de bord du Développeur, mais l'application me donne toujours cette erreur.
Le package complet de mon actvity est "com.app.package.views
" et j'ai essayé d'utiliser ce paquet (comme Google Play Nom du Package) dans le tableau de bord, mais rien n'a changé.
Comment puis-je le résoudre? Comment puis-je générer le droit de libération de la clé de hachage?
Vous devez vous connecter pour publier un commentaire.
Vous avez suivi les étapes que facebook prévoit la création d'une application de connexion?
Vous avez besoin d'une Production keyhash " obtenu à partir de votre version du fichier de clés:
De comand ligne:
Et ajouter cette clé sur facebook page de l'application options.
Plus d'informations: https://developers.facebook.com/docs/android/getting-started/
C:\Program Files\Java\jre1.8.0_201\bin>...
@TefaJe trouve une solution. pour MAC
Utiliser celui-ci pour obtenir YOUR_RELEASE_KEY_ALIAS:
et celui-ci pour obtenir votre libération keyhash:
Cela fonctionne pour moi.
La solution la plus simple.
1) Signer votre Apk.
2) Connectez votre appareil à la machine et Installez signé apk sur un périphérique réel.
3) Quand facebook login est pressé, vous obtiendrez un message d'erreur disant: "clé non Valide de hachage. La clé de hachage "xxx" ne correspond à aucune clé stockée. ..." sur votre logcat.
4)Copier le logcat Clé de Hachage et de mettre cette clé developers.facebook.com/apps/104...../settings/
Référence pour l'avenir, si vous avez déjà votre application sur le Play Store, vous pouvez ceci:
Aller à
Release Management
sélectionnez
App Signing
dansRelease Management
Vous pouvez voir SHA1 clé au format hex
App signing certificate
.Copiez le SHA1 au format hex et le convertir en format base64, vous pouvez utiliser cette lien le faire sans le
SHA1:
partie de l'hexagone.Aller à Facebook developer console et ajouter la clé(après conversion à base 64) dans le
settings —> basic –> key hashes
.Nous avons besoin de remplacer le mot "openssl" par le chemin d'accès d'un fichier à l'intérieur de la openssl structure.
Donc, Ma commande CMD est:
Il a travaillé.
//ajouter cette méthode pour votre première activité et ouvrir le journal et de recherche pour Base64 tag c'est le Hashkey je hoop il aide
Facebook SDK utilise deux clés différentes, l'une est la clé de Débogage que vous pouvez utiliser pendant votre phase de développement et d'autres est la Libération de la clé qui est utilisé lorsque vous créez un dossier de prêt signé.
Voici un lien sur la façon de créer debug et release clés.
Développeur.Facebook
Également vérifier cette DONC post.
La façon la plus simple pour obtenir la clé de hachage publié apk :
Obtenir SHA1 clé de sorti apk en utilisant la commande suivante:
Thn, vous obtiendrez SHA1 clé. Copie de clé et générer la clé de hachage utilisant site suivant:
Lien pour obtenir une clé de hachage
Vous obtiendrez de Sortie (base64): le copier et l'utiliser où vous voulez..
Ce est la façon la plus simple que j'ai trouvé jusqu'à présent pour la génération de la clé de hachage!