Android密钥库签名问题

时间:2011-06-17 20:16:29

标签: java android keytool

好的,所以我正在尝试使用facebook API,但是对这个密钥库没有运气。我可以让它生成并给我一个签名,但应用程序一直告诉我invalid_key。我正在四处阅读,有些人说你必须使用linux来获得一个很好的签名,我很难相信。有人可以帮我从这里出去吗?

3 个答案:

答案 0 :(得分:3)

您必须从密钥库中获取密钥并将其放在Facebook网站上。

按照此处的指南...

http://developers.facebook.com/docs/guides/mobile/#android

基本上,您需要从密钥库中提取密钥。以下命令从名为androiddebugkey的密钥库中提取密钥debug.keystore(这两个密钥库均由Eclipse自动创建)。 androiddebugkeystore的密码为android

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore 
| openssl sha1 -binary
| openssl base64

从中获得数字后,将其放在Facebook应用页面的密钥哈希字段中。Facebook App page

键与图像中显示的格式相同。

答案 1 :(得分:3)

确保您提供的正是他们所要求的。如果他们要求MD5密钥,SHA1密钥将无效,反之亦然。如果您需要MD5密钥并且只获得SHA1密钥,请尝试安装旧版1.6的Java Development Kit(JDK)。

新的(1.7)仅提供SHA1密钥。这解决了我的问题。

答案 2 :(得分:1)

我正在使用JDK 1.7并遇到同样的问题。通过将-v放入keytool命令,它将为您提供MD5,SHA1和SHA256指纹

$ keytool -v -list -alias androiddebugkey ...等。然后抓住MD5与谷歌或Facebook一起使用。

在此处找到此答案:http://mirnauman.wordpress.com/2012/01/26/how-to-get-google-maps-api-key-for-android-issues-and-errors-solved/