在Android中为Facebook SDK 3.0创建发布密钥

时间:2013-06-25 23:52:23

标签: android facebook

我有一个奇怪的问题。我正在尝试将Facebook集成到我的应用程序中。功能部分工作得很好,但问题是它只能直接从我的电脑上连接,即如果将我的手机连接到eclipse并发送应用程序它工作正常。如果我提取apk并直接从我的手机安装它该应用程序不会登录我,不会创建会话等等。

有人能让我知道这里有什么问题吗?

更新1:

按照SK9的推荐,通过以下官方Facebook开发者网站创建密钥。

C:\ Java \ jdk1.7.0_10 \ bin> keytool -exportcert -alias myAppfull -key store myAppfull | C:\ openssl-0.9.8k_X64 \ bin \ openssl sha1 -binary | C:\ openssl-0.9.8k_X64 \ bin \ openssl base64我收到密码提示。我在eclipse中输入用于导出的密码,它给出了一个代码。我进入了开发者页面。

其中:myAppfull是我在使用eclipse导出时使用的别名和密钥库。

还是同样的问题?有什么我想念的吗?

谢谢!

更新2:

有效!谢谢!!可能对其他人有用。检查下面的答案!

3 个答案:

答案 0 :(得分:10)

感谢SK9和Vizz。我做了一些研究,并想出了如何解决这个问题。

这对于使用ECLIPSE创建发布关键词的人来说是有用的。

1)打开命令提示符并在我的情况下给出JDK Bin文件夹的路径(C:\ Java \ jdk1.7.0_10 \ bin)。

2)复制此代码keytool -exportcert -alias" youraliasnamethatwasivenwhileexportineclipse" -keystore yourkeystorethatsavedwhileexportineclipse> C:\ OpenSSL的\ BIN \ RELEASE.TXT

3)现在你需要输入密码,密码=" samepasswordthatyouenterwhilecreatingthekeystoreineclipse"。

4)在openssl Bin文件夹中,您将获得一个名为release.txt的文件

5)现在在我的情况下将目录更改为打开的ssl文件夹:C:\ openssl-0.9.8k_X64 \ bin \

6)复制以下代码并粘贴openssl sha1 -binary release.txt> release_sha.txt

7)你将获得openssl bin文件夹中的release_sha.txt

8)再次复制以下代码并粘贴openssl base64 -in release_sha.txt> release_base64.txt

9)你将获得openssl bin文件夹中的release_base64.txt

10)打开release_base64.txt文件 - 宾果你有哈希键 - 复制密钥。

将其粘贴在facebook开发者网站的调试密钥旁边。它应该开始工作了!

答案 1 :(得分:2)

检查APK和在Facebook开发者帐户上注册的签名证书是否匹配。好像他们没有。

Facebook #5。将您的发布密钥哈希添加到列表中。

答案 2 :(得分:0)

我很久以前就面临同样的问题了。当您在一行中混合两个命令(结果键已损坏)时,似乎出现了问题(仅在Windows中)。 我所做的是分别运行命令。我不记得我这样做的确切方式,但我知道这个,这看起来和我发现的很相似。

Exporting keystore cert
keytool -exportcert -alias <insert the name of your alias here> -keystore <insert the route of your key here> -storepass android -keypass android > namefile.bin

Converting to sha1
<insert the route of your \bin\openssl here > sha1 -binary namefile.bin > namefile.sha1

Converting to base64
<insert the route of your \bin\openssl here > base64 -in namefile.sha1 -out namefile.base64

Done, Android hash key for Facebook app is:
<insert the route of your \bin\openssl here > base64 -in namefile.sha1

来源:Another Stackoverflow Question