我完成了我的应用程序并且每件事情都运行正常但是在我签署我的应用程序以在谷歌播放发布后,签名的apk无法登录Facebook并且我尝试了以下方法来解决此问题,但到目前为止我没有任何作用。< / p>
我通过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) {
}
如果你知道解决这个问题的任何方法,请帮助我,因为我花了三天时间,直到现在才解决这个问题。
答案 0 :(得分:0)
你确定你提交给facebook的密钥哈希对应于你用来签署提交给谷歌播放的应用程序的密钥库吗?如果它在签名之前工作,你很可能将你的调试密钥库哈希提交给facebook,而不是你的签名密钥库哈希。