我在服务器崩溃后将我的eclipse更改为另一个版本。现在我无法将我的应用程序登录到Facebook或发布文本或图像。
我知道如何生成debug.keystore哈希键,以及我使用它导出应用程序的Keystore哈希键。
顺便说一句,我删除了我的debug.keystore
并生成一个新的尝试解决问题,我失败了。
以下是用于debug.keystore
的命令:
C:\ Program Files \ Java \ jre7 \ bin \ keytool.exe“-exportcert -alias androiddebugkey -keystore C:\ Users \ Administrator.android \ debug.keystore | C:\ Windows \ SysWOW64 \ openssl.exe sha1 -binary | C:\ Windows \ SysWOW64 \ openssl.exe base64
这也是我用来将我的应用导出到我的密钥库:
“C:\ Program Files \ Java \ jre7 \ bin \ keytool.exe”-exportcert -alias exportkeystore -keystore“C:\ Users \ Administrator \ APKs \ exportkeystore” | C:\ Windows \ SysWOW64 \ openssl.exe sha1 -binary | C:\ Windows \ SysWOW64 \ openssl.exe base64
我将生成的两个哈希键放入我的Facebook android原生应用程序中。 另外我注意到我的日食SHA已经改为另一个,我之前的日食是朱诺,现在是开普勒。
现在,解决方案是什么? 如何解决我的Facebook登录问题?和 我可以在eclipse指纹证书更改后发布我的应用程序(即新的SHA)吗?
答案 0 :(得分:2)
我解决了我的问题,请参考官方的Facebook API文档: Setting a Release Key Hash
答案 1 :(得分:0)
尝试从应用的第一个Activity的onCreate api调用以下方法。它将打印一个Hash Key,将其与您添加到Facebook应用程序中的HASH进行比较,看看是否存在问题
public void printHashKey() {
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("TEMPTAGHASH KEY:",
Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
}