如何将SHA-1添加到Android应用程序

时间:2016-08-25 11:55:07

标签: android firebase sha1 firebase-dynamic-links

我尝试在Firebase中创建动态链接,当我选择Android应用时,它会显示错误说"将SHA-1添加到此Android应用",我&已经添加了凭证,但我不确定我是如何将SHA-1添加到应用程序中的#34;

这是怎么做到的?

15 个答案:

答案 0 :(得分:80)

android studio中的sha1代:

change firebase project setting

Press add fingerprint button

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

  2. 选择您的应用

  3. 在任务中 - > android-> signingReport

  4. 双击signingReport

    How to get sha1 fingerprint

    您可以在“ Gradle Console

    中找到sha1指纹

    在firebase控制台中添加此sha1指纹

    Add SHA1 fingerprint

答案 1 :(得分:45)

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

enter image description here

答案 2 :(得分:33)

或者,您可以使用命令行来获取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指纹

答案 3 :(得分:3)

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

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

答案 4 :(得分:3)

尝试在CMD中粘贴此代码:

$ java -jar jol-cli/target/jol-cli.jar internals java.lang.Integer
# WARNING: Unable to get Instrumentation. Dynamic Attach failed. You may add this JAR as -javaagent manually, or supply -Djdk.attach.allowAttachSelf
# Running 64-bit HotSpot VM.
# Using compressed oop with 0-bit shift.
# Using compressed klass with 0-bit shift.
# Objects are 8 bytes aligned.
# Field sizes by type: 4, 1, 1, 2, 2, 4, 4, 8, 8 [bytes]
# Array element sizes: 4, 1, 1, 2, 2, 4, 4, 8, 8 [bytes]

Instantiated the sample instance via public java.lang.Integer(int)
 OFFSET  SIZE   TYPE DESCRIPTION                               VALUE
      0     4        (object header)                           05 00 00 00 (00000101 00000000 00000000 00000000) (5)
      4     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)
      8     4        (object header)                           88 26 cf 22 (10001000 00100110 11001111 00100010) (584001160)
     12     4    int Integer.value                             0
Instance size: 16 bytes
Space losses: 0 bytes internal + 0 bytes external = 0 bytes total

答案 5 :(得分:3)

MacOS只需粘贴在终端中即可:

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

答案 6 :(得分:3)

更新 Android Studio(2021 年 5 月 12 日)

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

按回车

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

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

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

答案 7 :(得分:2)

当我使用android studio生成 sha1键

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

sha1键在调试模式下工作,但在我构建 singd 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

答案 8 :(得分:1)

对于Linux Ubuntu Open Terminal并编写:-

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

答案 9 :(得分:1)

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

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

答案 10 :(得分:1)

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

./gradlew signingReport 

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

cd android && ./gradlew signingReport

答案 11 :(得分:0)

linux os终端运行此命令:

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

答案 12 :(得分:0)

在Windows上,打开“命令提示符”程序。您可以转到“开始”菜单

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

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

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

答案 13 :(得分:0)

打开终端,然后运行Java随附的keytool实用程序,以获取证书的SHA-1指纹。您应该同时获得发行和调试证书指纹。

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

答案 14 :(得分:0)

如果您使用的是Google Play应用签名,则无需手动添加SHA-1密钥,只需登录Firebase进入“项目设置”->“集成”,然后按一个按钮即可将Google Play与firebase,将自动添加SHA-1。