J'utilise facebook sdk pour me connecter à mon application . L'application fonctionne correctement sur les appareils HTC . L'application fonctionne également correctement sur les appareils Samsung si aucune application facebook n'est pré-installée.
Mais s'il y a déjà une application facebook sur le mobile et que l'utilisateur installe mon application, l'utilisateur n'est jamais connecté… .. D'après ce que je sais, je pense que cela pourrait être un problème d'authentification unique liées à la génération de la clé de hachage de l'application appropriée et à l'utilisation de la clé de hachage dans l'application Facebook que j'avais l'habitude de connecter à l'application mobile.
Merci de me guider pour créer la clé de hachage. Je cours Ubuntu 10.4.
Quand j'exécute cette commande dans le terminal: -
keytool -exportcert -alias <your keystore alias name>.keystore -keystore ~/.Android/<your keystore name>.keystore | openssl sha1 -binary | openssl base64
Je ne suis jamais invité à entrer un mot de passe, bien que la clé de hachage me soit fournie.
Essaye ça:
keytool -exportcert -alias androiddebugkey -keystore ~ / .Android/debug.keystore | openssl sha1 -binary | openssl base64
J'espère que vous l'obtiendrez. Je viens de le vérifier et j'ai reçu l'invite pour le mot de passe.
Vous pouvez utiliser ce bloc de code pour générer une clé de hachage. Placez ce bloc de code dans votre méthode onCreate ().
try {
PackageInfo info = getPackageManager().getPackageInfo(
"Your package name",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("Your Tag", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Il suffit de donner la commande en tant que:
keytool -exportcert -alias androiddebugkey -keystore debug.keystore
et donnez le mot de passe de frappe, Android ou entrez
Ici, vous devez aller dans la structure de répertoires jusqu'à ".Android" puis lancer cette commande. En général, le chemin est C:\Users\User-name\.Android>
.
S'il ne vous demande pas de mot de passe, ouvrez d'abord votre terminal et tapez:
Sudo apt install openjdk-8-jre-headless
Et puis suivez le chemin habituel, tapez simplement:
keytool -exportcert -alias androiddebugkey -keystore ~/.Android/debug.keystore | openssl sha1 -binary | openssl base64
Pour le mot de passe, entrez: Android
Vous avez tous terminé.
Cette réponse est uniquement destinée au débogage. Pour la publication, utilisez votre fichier .jks pour générer la clé de hachage.
Vérifiez trois parties dans votre environnement.
où est "debug.keystore" ?
trouver / -name "debug.keystore"
si vous ne le trouvez pas, vérifiez votre Eclipse ou ADT.
quel est nom d'alias ?
keytool -list -v -keystore "PATH_TO_DEBUG_KEYSTORE"
Vérifiez si installé openssl
openssl
Si tout est prêt, il devrait demander le mot de passe
C:\openssl\bin>keytool -exportcert -alias aliasName -keystore "C:\Users\s\.Android\debu
g.keystore" | "C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" b
ase64
Enter keystore password: Android
GEYtOJobR4NzuxX4iOl/yR6sla4=