【问题标题】:How to add SHA-1 to android application如何将 SHA-1 添加到 Android 应用程序
【发布时间】:2017-01-01 20:20:16
【问题描述】:

我正在尝试在 Firebase 中创建一个动态链接,当我选择 android 应用程序时,它显示一条错误消息“将 SHA-1 添加到此 android 应用程序”,我已经添加了一个凭据,但我'不知道我究竟如何“将 SHA-1 添加到应用程序”

这是怎么做到的?

【问题讨论】:

  • 检查 this 以从您的 android studio 获取 SHA-1 密钥并将其添加到您的 firebase 项目中
  • 我已经获得了 SHA-1 密钥,但我不知道如何将其添加到我的 firebase 项目中
  • 对于 Android Studio 4.2,请参阅 stackoverflow.com/a/67546584/11365488
  • #3 为我工作 --- devopsschool.com/blog/…

标签: android firebase sha1 firebase-dynamic-links


【解决方案1】:

android studio 中的 SHA-1 生成:


  1. 从右侧面板中选择 android studio 中的 Gradle

  2. 选择您的应用

  3. 在任务中 -> android-> 签名报告

双击signingReport


您将在“Gradle 控制台”中找到 SHA-1 指纹

在 Firebase 控制台中添加此 SHA-1 指纹

【讨论】:

  • 请记住在签名报告的输出中复制发布和调试 sha1。
  • 无法获取 SHA。
  • 好吧,我花了一些时间才找到“选择 gradle”,因为面板大小合适。 :))))
  • Android Studio 3.3:点击Gradle面板中的大象图标,选择项目,在命令行中输入:“signingReport”,点击确定
  • 对于任何搜索 gradle 选项的人,“Gradle”按钮垂直放置在窗口右侧。
【解决方案2】:

如果您使用Google Play App Signing,则需要使用 google play 的 SHA1,因为 Google 会将您的发布签名密钥替换为 google 服务器上的签名密钥

【讨论】:

  • 这需要更高。我完全错过了我的密钥仅用于上传,然后谷歌自行辞职。我花了一个上午的时间才意识到这一点
  • 真的很有帮助!必须将 Google App Signing SHA1 添加到您服务上的 SHA1 列表中。
  • 救命稻草!这应该在Google App Bundle documentation 中突出显示。他们在页面底部的提示和最佳实践下提到了它。但是,尚不清楚需要什么以及如何实施。
  • 必须使用上传密钥证书的 SHA-1 和 SHA-256。谢谢顺便说一句。
  • 谢谢。这真的为我节省了大量时间!
【解决方案3】:

或者,您可以使用命令行来获取您的 SHA-1 指纹:

您应该使用的调试证书:

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

您应该将“c:\Users\user”更改为 Windows 用户目录的路径

如果您想为自己的证书获取生产 SHA-1,请将“C:\Users\user\.android\debug.keystore”替换为您的自定义 KeyStore 路径,并使用您的 KeystorePass 和 Keypass 而不是 android/android。

比像 Damini 所说的那样在 Firebase 控制台中声明 SHA-1 指纹

【讨论】:

  • 您需要 CD 到 java bin 文件夹才能使 keytool 工作。对我来说,C:\Program Files\Android\jdk\microsoft_dist_openjdk_1.8.0.25\bin 虽然您可能直接在C:\Program Files\Java\... 中安装了通用 Java 版本
【解决方案4】:

MacOS 只需粘贴到终端:

keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android

【讨论】:

  • 为我工作,谢谢..
【解决方案5】:

适用于更新的 Android Studio(2021 年 5 月 12 日)

  1. 点击右侧的 Gradle
  2. 点击大象图标并输入命令
gradle signingReport

按回车

现在,您将在可以从底部打开的运行窗口中看到 BUILD SUCCESSFUL 只需向上滚动该窗口,您就会在那里找到您的 SHA1 密钥。 将此密钥添加到 firebase

  1. 在您的项目设置中,转到您的应用卡片。
  2. 选择要添加 SHA 指纹的 Firebase Android 应用。
  3. 点击添加指纹。
  4. 输入或粘贴 SHA 指纹,然后点击保存。

最后,在运行您的应用程序时,请检查您是否将运行配置更改为应用程序 否则只有 signingReport 任务会一次又一次地运行。

【讨论】:

  • 感谢它的工作...感谢最后一行
  • 这会为我创建多个 SHA 指纹。我应该选择哪一个
  • 理想情况下,您应该获得两个指纹 SHA1 和 SHA256。项目中有多个模块吗?否则分享更多细节
【解决方案6】:

如果您使用的是 Google Play App Signing,则无需手动添加 SHA-1 密钥,只需登录 Firebase 进入“项目设置”->“集成”并按下按钮将 Google Play 与firebase,SHA-1 会自动添加。

【讨论】:

  • 我们知道链接 Firebase 和 Google Play 完全没问题,这是摆脱 SHA 生成和集成步骤的超级简单方法。在一分钟之内,我就可以让我的 Live 应用程序的 google 登录错误消失。谢谢。
【解决方案7】:

以防万一:使用命令行生成 SHA1 指纹时,请注意指定文件夹路径。 如果您的用户名或 android 文件夹路径有空格,则应添加两个双引号,如下所示:

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

【讨论】:

    【解决方案8】:

    尝试将此代码粘贴到 CMD 中:

    keytool -list -v -alias androiddebugkey -keystore  %USERPROFILE%\.android\debug.keystore
    

    【讨论】:

    • 密码是多少?
    【解决方案9】:

    在 Windows 上,打开命令提示符程序。您可以通过转到“开始”菜单来完成此操作

      keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
    

    在 Mac/Linux 上,打开终端并粘贴

       keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
    

    【讨论】:

      【解决方案10】:

      对于 linux Ubuntu 打开终端并写入:-

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
      

      【讨论】:

        【解决方案11】:

        linux os终端运行这个:

          keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass androi
        

        【讨论】:

          【解决方案12】:

          当我使用 android studio 生成 sha1 密钥

          Gradle -> Tasks -> android-> signingReport双击

          当我构建 singed APK

          所以我使用 cmd 生成了 sha 1 密钥

          • 进入 java\jdk 版本\bin 文件夹

          例子

          C:\>cd C:\Program Files\Java\jdk1.8.0_121\bin
          

          然后输入

          keytool -exportcert  -keystore {path of sign jks key } -list -v
          

          例子

          keytool -exportcert  -keystore F:\testkey\damithk.jks -list -v
          

          【讨论】:

            【解决方案13】:

            从您的 android 目录运行此命令。

            ./gradlew signingReport 
            

            如果您不在 android 目录中,请改为运行:

            cd android && ./gradlew signingReport
            

            【讨论】:

              【解决方案14】:

              您可以按照以下步骤复制SHA,而不是编写命令

              1. 打开 Android Studio
              2. 打开您的项目
              3. 点击 Gradle(从右侧面板,您将看到 Gradle 栏)
              4. 点击 Refresh(从 Gradle Bar 中点击 Refresh,您将看到 List Gradle 脚本)
              5. 单击您的项目(您的项目名称表单列表)
              6. 点击任务/Android
              7. 双击签名报告(您将在运行栏中获得 SHA1 和 MD5)。

              【讨论】:

                【解决方案15】:

                打开终端并运行 Java 提供的 keytool 实用程序以获取证书的 SHA-1 指纹。您应该同时获得发布和调试证书指纹。

                获取发布证书指纹: keytool -exportcert -list -v \ -alias -keystore

                【讨论】:

                  【解决方案16】:

                  最简单也是最好的选择,只需在命令提示符下打开根目录并运行“gradlew signingReport”这个命令。

                  【讨论】:

                    猜你喜欢
                    • 2012-09-05
                    • 2016-01-09
                    • 2014-06-10
                    • 1970-01-01
                    • 1970-01-01
                    • 2014-07-31
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多