我正在完成一个使用Android Facebook SDK的应用程序,以便使用Facebook登录。我的应用程序必须使用正确生成的密钥哈希配置,该哈希必须存在于我的计算机上,并且还必须设置到我的Facebook开发者控制台中。
当我从我的Android应用程序打印当前密钥哈希时,使用在其他类似的stackoverflow帖子上找到的代码片段,它会将我过去使用过的旧密码记录记录到我的Facebook Developper控制台中。它可能是debug
keyhash。
现在,我尝试使用keytool
命令生成 发布 keyhash。
当我在Mac上工作时:
keytool -exportcert -alias MyReleaseKey -keystore ~/.android/myreleasekey.keystore | openssl sha1 -binary | openssl base64
我几乎尝试了一切,但是这个命令从不要求我输入密码,并且永远不会生成文件。有些人说如果不是要求输入密码,那么输入的路径可能无效。
所以,我尝试了所有路径,以及我可以在互联网上找到的所有内容,例如删除Android Studio生成的~/.android/debug.keystore
。什么都行不通......
为什么我无法生成发布密钥?
是否必须存储到~/.android/
文件夹中?
我知道在生成debug
keyhash时,我们必须输入"android"
密码作为密钥库密码。我可以输入我想要的发布密钥库密码吗?
答案 0 :(得分:2)
,永远不会生成文件。
为什么期望生成文件?该命令只是输出一个字符串,然后粘贴到Facebook开发控制台。
如何生成发布APK?查看app/build.gradle
或转到Android Studio内部的Build -> Generate Signed APK
,查找密钥库文件的路径(可能以.keystore
或.jks
结尾)。
现在,简化命令以生成APK,直到您确定已找到路径为止。仅使用
keytool -exportcert -alias MyReleaseKey -keystore ~/.android/myreleasekey.keystore
不会屏蔽任何错误,并告诉您确切的错误。