我正在尝试将facebook集成与我的某个应用程序配合使用。我刚刚阅读了文档here,其中包含:
“首先,要在本地计算机上生成密钥哈希,请针对Android调试密钥库运行Java的keytool实用程序(应该在控制台的路径上)。”
这对我来说非常混乱,这是否意味着我的应用程序(+ facebook集成)只能在我的“本地计算机”上运行 - 即在我的PC上运行的模拟器?...如果是这样的话,那就不行了为我的Android手机(通过USB连接到我的PC)获得相应的“密钥哈希”?因为我更倾向于在手机上测试我的应用而不是模拟器。
答案 0 :(得分:1)
当您创建将上传到Google Play商店的Android应用程序时,您会生成一个唯一标识符,该标识符将允许Google以及安装您应用的每部手机知道您开发了它。这就像你自己的秘密密码,你不应该与任何人分享。如果恶意开发人员为您的应用创建“更新”,并以某种方式将其分发给用户,那么任何试图安装它的用户都会收到错误消息,因为您的私有密钥库不会创建恶意虚假升级。当您发布应用程序时,您必须创建此密钥库,并使用它来生成Facebook密钥哈希,这是他们在这里所指的。
但是,当您正在开发并且尚未准备好向全世界发布时,默认情况下Eclipse将使用默认的“debug”密钥库来构建您的应用程序。您指的指示告诉您如何使用调试密钥库生成Facebook哈希。完成此操作后,无论何时使用调试密钥库构建应用程序并运行它,只要您将该密钥哈希粘贴到Facebook开发人员控制台中,Facebook就可以使用SDK进行连接。无论您是在计算机还是手机上运行应用程序,它都将运行并与Facebook集成连接。
当您准备发布时,您必须生成一个全新的密钥库,再次在该文件上运行该工具,并像以前一样将该密钥哈希上传到Facebook。然后,只要您使用新的密钥库构建它,您的应用就可以在任何人的手机上运行并能够连接到Facebook。