1
我完成了我的應用程序,並且所有的東西都能正常工作,但是在我簽署了我的應用程序以在Google上發佈它之後,已簽名的apk無法通過Facebook登錄,我嘗試了下面的方法來解決此問題但直到現在,我還沒有任何作品。已簽名的apk文件不能用facebook登錄SDk3
我通過keytool生成了hashkey,並將它添加到我在Facebook上的應用程序頁面。
keytool -exportcert -alias kartag -keystore C:\Data\app\client\android\keyStore\KarTag | "C:\bin\bin\openssl" sha1 -binary |"C:\bin\bin\openssl" base64
然後輸入android作爲密碼並輸入我的密鑰庫密碼,但也沒有任何作用。
我寫下面的代碼在運行時得到hashkey和生成的密鑰不同於上面的方法生成並添加到我的Facebook應用程序頁面,但我也不工作。
String key = ""; try { PackageInfo info = getPackageManager().getPackageInfo( "com.kartag.gui", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); key = Base64.encodeToString(md.digest(), Base64.DEFAULT); } } catch (NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { }
請,如果你知道解決此問題的幫助,因爲我花了三天時間,現在,直到解決這個問題的任何方法。
我通過eclipse簽署了apk,所以密鑰存儲之後我通過keytool執行了上述命令。你是否看到任何錯誤? – user2317753 2013-05-06 21:14:40
是的,「android」密碼通常是調試密鑰庫的默認密碼。如果您生成了自己的密鑰庫,則最好使用更安全的密碼。你有沒有在eclipse中「導出」你的應用程序,或者只是「運行它」?雖然不確定你的java代碼。 – 2013-05-06 21:21:24
我試過我的密鑰庫密碼,我通過eclipse在簽名過程中輸入了密碼,但不起作用。我通過eclipse導出應用程序,如本鏈接中的「使用Eclipse ADT編譯和簽名」部分所述。 http://developer.android.com/tools/publishing/app-signing.html – user2317753 2013-05-06 21:28:37