[英]android facebook login stops working if app is downloaded from google play
我將功能齊全的應用程序上傳到了Google Play,從那里下載該應用程序后,facebook登錄不起作用! 我正確配置了我的facebook應用程序,並且可以在Eclipse環境中使用。 搜索后,由於facebook鍵哈希,可以完成此操作。 但是,我得到的像:
似乎還必須獲得用於分發的密鑰哈希...但是如何? 謝謝。
選擇1:
將此應用程序與使用您的發布密鑰簽名的應用程序一起使用 。 不是從Eclipse部署的。
在您的應用程序的第一個活動中運行以下代碼:
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.e("FACEBOOK APP SIGNATURE", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
這行: Log.e("FACEBOOK APP SIGNATURE", Base64.encodeToString(md.digest(), Base64.DEFAULT));
將在DDMS中記錄密鑰哈希。
選擇2:
C:\\Program Files\\Java\\jre7\\bin
openssl sha1 -binary debug.txt > debug_sha.txt
接着,
openssl base64 -in debug_sha.txt > debug_base64.txt
做完了! debug_base64.txt包含您的密鑰哈希。 將其復制到您的應用程序控制台中,一切就緒。
在我的經驗中,這兩種方法都為我提供了正確的密鑰哈希。 但是,在少數情況下(而不是隨機情況),第一種選擇沒有提供正確的密鑰哈希,而第二種選擇一直有效 。 看看哪個適合您。
在生成發布哈希密鑰時,請注意此
在生成用於生產的哈希密鑰時,需要在Windows上使用openssl-0.9.8e_X64.zip
,而不能使用openssl-0.9.8k_X64.zip
這些版本會產生不同的哈希鍵,由於某些原因9.8k無法正常工作,而9.8e則可以。
要么
在下面的流程中使用
這就是我解決此問題的方法,在我的情況下,將APK下載到PC的java jdk \\ bin文件夾中的C:\\Program Files\\Java\\jdk1.7.0_121\\bin
轉到java jdk\\bin
文件夾並運行cmd,然后復制以下內容在您的cmd中命令
keytool -list -printcert -jarfile yourapkname.apk
將SHA1值像以下CD:A1:EA:A3:5C:5C:68:FB:FA:0A:6B:E5:5A:72:64:DD:26:8D:44:84
這樣復制到剪貼板上打開“ 十六進制到基數64”將SHA1值轉換為base64。
嘗試此解決方案,對我來說我遇到了同樣的錯誤,但是嘗試幾個小時后現在可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.