【问题标题】:SHA1 for Google apis用于 Google api 的 SHA1
【发布时间】:2015-05-05 13:41:50
【问题描述】:

我对如何为我的应用获取 SHA1 感到有些困惑。

我看到了所有建议的指南:

keytool -list -v -keystore C:\Users\user\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

但是当我签署我的应用程序以在 Google Play 上分发时,我使用密钥对其进行签名(通过为我创建的与 debug.keystore 无关的文件应用密钥存储路径)

这是什么意思?当我想应用 SHA1 时,我应该从哪里获取它?

如果我从指南中说它就像 SHA1 依赖计算机 debug.keystore 文件,如果我将开发切换到其他计算机怎么办?

逻辑说它取决于为应用签名创建的密钥存储路径

我应该如何获得正确的 SHA1?

【问题讨论】:

  • 用于分发的 SHA1 将始终是您应该生成的私有 release.keystore。但是您的debug.keystore 可以在~/.android/debug.keystore 中的计算机之间共享。
  • 那么 debug.keystore 是干什么用的?测试目的,但什么时候上线它必须改变?
  • debug.keystore 只是为您的应用程序签名(因为您的设备需要签名),但此签名仅用于开发,永远不会上线。发布 APK 时需要使用发布密钥库对其进行签名(无论如何,APK 上传器都会检测到此类错误)。

标签: android google-api sha1 android-googleapiclient


【解决方案1】:

您可以创建一个新的调试证书,然后在多台计算机上使用该证书并使用那台计算机的 SHA1。

然后你会在你的 gradle 配置中像这样使用它,注意使用你自己的路径,这只是为了演示

signingConfigs {
    release {
         .....
    }
    debug {
        storeFile file(String.format("%s/%s/%s", "$rootProject.projectDir", "keys", "debug.keystore"))
        storePassword "android"
        keyAlias "debug"
        keyPassword "android"
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 2012-03-15
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多