【发布时间】:2014-07-11 10:21:48
【问题描述】:
我计划在 PlayStore 上上传我的第一个应用程序,它使用 Google Maps V2 和 Facebook SDK。到目前为止,我已经使用了AndroidHive 上的教程,并且大多是盲目地遵循这些步骤。
Google Maps 和 Faceboook 都要求我生成 keyhash 和 keycert。我将密钥证书生成为:
keytool -exportcert -alias androiddebugkey -keystore "%USERPROFILE%\.android\debug.keystore" | openssl sha1 -binary | openssl base64 > Desktop/SSL.txt
现在,为了发布一个应用程序,我将使用 Eclipse 的 EXPORT 向导创建一个新的密钥库。
创建新的密钥库后,我是否必须通过指向新生成的密钥库来为 Google 地图和 Facebook 生成新的密钥?
Facebook SDK 教程:http://www.androidhive.info/2012/03/android-facebook-connect-tutorial/
谷歌地图V2教程:http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/
【问题讨论】:
-
Facebook keyhash 不会改变,您需要更改标记的答案,以便其他人获得帮助。
-
@David 怎么样?当我从 debug.keystore 更改为 release.keystore 时,哈希值会改变,是吗? :)
-
更新的答案,试试那里写的代码,它会被证明。 Facebook keyhash 不会改变,因为你的包是一样的。
-
使用相同的签名密钥库和不同的机器尝试此代码,您会注意到不同之处。 Facevbook 的 keyhash 将会改变。
-
@David 我说过的话,如果你用 debug.keystore 处理的话,如果改变的话。如果您使用从 eclipse 导出向导或 keytool 创建的 release.keystore 在不同的机器上进行测试,那么我相信它在所有 PC 上都将保持不变。 HashKey 依赖于与 keystore 文件关联的 SHA1,因此 release keystore 始终具有相同的签名,因此 hashkey 在 release.keystore 中也保持相同