Unity Android使用Facebook SDK时,缺少Debug Android KeyHash

4
感谢您的帮助,在此之前,我遵循了这份文档:

还有这个关于在Android中集成Facebook的特定视频:

但是Unity没有填写(如视频中所示)我应该在Facebook应用程序中插入的“调试Android密钥哈希”字段。
问题的截图。

我已安装:

  • Unity 4.2
  • jdk1.7.0_25(带环境变量Path)
  • 所有的android sdk版本
  • openssl(在C:\openssl中)

我尝试使用cmd.exe手动创建“debug.keystore”文件(Facebook Android Generate Key Hash),并将其移动到"C:\Users\(我的用户名)\.android",但Unity找不到该密钥散列。

有人能帮我吗?我卡住了...

-------------- 已解决 ------------------------

我使用了这个解决方案Facebook Android Generate Key Hash来创建debug.keystore,移动到"C:\Users\(我的用户名)\.android",并在Facebook上使用此密钥。

3个回答

2
在Unity编辑器中,脚本会尝试运行以下命令:keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64(如果你使用的是Mac,则相应地进行调整)。请参见:https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/。从你的命令看来,你应该将密钥放在以下路径中:"C:\Users\(My UserName)\.android"而不是"C:\Users(My UserName).android"(注意文件夹名称)。如果你有多个硬盘并且你的主目录不在主要硬盘上,则可以将debug.android移动到home变量路径指向的任何位置。另外,请确保keytool和openssl都在你的路径中。你可以在shell中手动执行它们。如果找不到它们,请将它们添加到你的PATH中。希望这能帮到你。

是的,抱歉。我以错误的方式编写了路径,但我的意思是你所说的 -> "C:\Users(我的用户名).android"。 我通过手动创建密钥并将其移动到“.android”文件夹中来解决了这个问题,然后使用了它。 我将尝试将openssl添加到PATH环境变量中,谢谢! - RevoLab
没问题。如果还是不行,有一个备选方案。在这个页面的第4步下面查找“故障排除”部分:https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/它提供了一种直接从设备本身获取密钥哈希的方法。 - Brian Jew
@brian_jew -- 如果你看到这条消息,嘿,如果在开发Unity-Mac->Android时遇到问题是非常困难的。我已经惊慌失措地给你发了电子邮件 :) 这是一个令人难以置信的时间浪费;在Mac上使用Unity存在一些令人震惊的密钥哈希问题。(注意,除其他问题外:无论我在Mac上启动哪个Unity项目,在FB设置中我都只会得到相同的密钥哈希值..这是否正确?) - Fattie

0

like this

就像这样,但是不要使用eventappkey.keystore和路径,而是使用debug.keystore的路径。然后底部的SHA1是你用于Facebook的,记得在使用发布keystore签名时更改它。


0
你可以尝试在Android Studio中创建空项目(之后可以删除),这样会在“C:\ Users \ {username} \ .android”目录中生成所需的debug.keystore文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接