android_key参数无效

时间:2013-09-27 14:23:54

标签: facebook phonegap-plugins cordova-2.0.0

我正在使用HTML5,jQuery Mobile,Phonegap创建一个Android原生应用程序。在这里,我必须创建登录作为Facebook。为此我已经下载了phonegap SDK并在eclipse中使用。我在facebook上创建了AppId。之后我生成了Key hash。我已经在FaceBook中输入了这个键。但是,我面临“无效的android_key参数”问题。我已经完成了所有的教程和博客,我已经完成了教程中解释的所有内容。帮助我摆脱这个问题。谢谢!

2 个答案:

答案 0 :(得分:0)

您遇到的问题是您没有使用正确的密钥库文件,签名密钥和密钥算法。您需要生成Android密钥的哈希值,并将其提交给Facebook上的开发人员页面。

如果您在Windows(特别是64位版本)上生成此哈希,请使用版本0.9.8e或0.9.8d的OpenSSL for Windows而不是0.9.8k。

下载openssl后,以管理员身份打开命令提示符(cmd.exe),然后运行以下命令:

keytool -genkey -v -keystore [keystore_name].keystore -alias [alias_name] -keyalg RSA -keysize 2048 -validity 10000

请注意alias_name,并保留所有密码andriod

现在,转到您的phonegap帐户>>修改帐户>>点击签名密钥标签>>点击“添加密钥...”并提供以下信息:

Title - anything

Alias - alias_name that you have given while generating the keystore file.

然后,使用您生成的密钥库文件创建一个新的哈希密钥,然后在您的Facebook应用程序中更新该哈希密钥。使用以下命令生成散列键。

keytool -exportcert -alias [alias_name] -keystore [keystore_filename.keystore] | openssl sha1 -binary | openssl base64

那应该是它!

答案 1 :(得分:0)

try {
PackageInfo info = getPackageManager().getPackageInfo("com.eatapp", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
    MessageDigest md = MessageDigest.getInstance("SHA");
    md.update(signature.toByteArray());
    Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}