【问题标题】:Android Facebook SDK: How to generate a non-debug hash key?Android Facebook SDK:如何生成非调试哈希键?
【发布时间】:2013-01-31 20:04:20
【问题描述】:

所以,我知道如何使用 android 的密码生成调试哈希密钥。我知道对于每台新设备,我都需要生成(并上传到 facebook)新的哈希键。

现在,我还没有准备好实际投入生产,但我想将应用程序分发给一组不希望自己生成哈希值的测试人员。我看到对非调试哈希键的引用:

接下来,您需要为应用程序生成一个 Key Hash。为了 调试,如果使用 Eclipse,你会想要生成这个 Key Hash 使用 Android 调试密钥。当您准备好发布您的应用程序时, 您将需要为您的签名密钥生成密钥哈希并更新 在您签名的应用程序运行之前,Facebook 中的这个值。

http://www.techrepublic.com/blog/app-builder/integrate-facebook-logins-in-your-android-app/296

你如何生成这个?我以前从未制作过生产(签名)应用程序,这与此有关吗?在完成之前签署我的应用程序有缺点吗?如果不是,我该怎么做才能让任何设备通过 facebook 连接运行这个应用程序?

【问题讨论】:

    标签: android facebook


    【解决方案1】:

    您可以轻松生成自己的密钥以在发布模式下签署您的应用程序。有关详细信息,请参阅 Android 文档:Signing in Release Mode

    密钥库生成示例:

    $ keytool -genkey -v -keystore my-release-key.keystore
      -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
    

    然后像使用调试密钥一样为 Facebook 生成哈希:

    $ keytool -exportcert -alias alias_name -keystore my-release-key.keystore
      | openssl sha1 -binary | openssl base64
    

    最后与您的测试人员组分享您签名的 apk,仅此而已。

    【讨论】:

    • 谢谢!伙计,签署应用程序比我想象的要复杂,但无论如何我必须在某个时候学习它,所以不如现在
    • @ottel142 SSO 运行良好。但是当我签署我的构建并使用上述方法制作发布哈希密钥时,我的 SSO 失败
    • @Want 您的所有发布 APK 都必须使用相同的密钥库进行签名,这就是 Google/Android 验证您作为应用程序开发人员的方式。 Android 包管理器拒绝安装使用不同密钥库签名的更新。所以因为密钥没有改变,所以哈希值也保持不变。
    • @Want 也许您有时会使用调试版本进行测试?调试版本使用不同的密钥库签名...
    • @Want 我更喜欢生成一个 app-debug.keystore。然后使用这个来覆盖默认的调试密钥库(在 build.gradle -> signingConfigs.debug.storeFile 中)并将其签入版本控制。因此,在此之后所有团队成员都使用相同的调试密钥库。
    猜你喜欢
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 2011-10-03
    • 2015-07-12
    • 2011-06-28
    • 1970-01-01
    相关资源
    最近更新 更多