【发布时间】:2014-10-19 09:49:39
【问题描述】:
我正在开发一个使用 Facebook 身份验证的 Android 应用程序。在调试模式下,我使用代码生成的调试密钥哈希:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.org.package", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String sign = Base64
.encodeToString(md.digest(), Base64.DEFAULT);
Log.e("MY KEY HASH:", sign);
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
现在我想在 Google Play 商店中发布我的应用,所以我需要生成一个发布密钥哈希。我使用了facebook开发者文档中提到的方法:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
对于 RELEASE_KEY_PATH,它是导出项目到 apk 时生成的 kaystore 的路径。
我将生成的嘿哈希添加到 facebook 应用程序,但我仍然有错误:
无效的密钥哈希。密钥哈希不匹配任何存储的密钥哈希 facebook android。
当我添加由 java 代码生成的 hey 哈希时,它可以工作,但我不能为每个设备都这样做,我需要发布我的应用程序,以便每个人都可以使用它。
解决办法是什么?请帮我。
【问题讨论】:
标签: android facebook debugging hash release