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

How to add SHA-1 to android application

我正在尝试在 Firebase 中创建动态 link,当我选择 android 应用程序时,它显示一条错误消息 "Add SHA-1 to this android app",我已经添加了凭据,但我不确定我该如何 "add SHA-1 to the app"

这是怎么做到的?

android 工作室中的 SHA-1 代:


  1. Select Gradle 在 android 工作室中来自右侧面板

  2. Select 您的应用程序

  3. 在任务 -> android-> signingReport

双击signingReport


您将在“Gradle 控制台

中找到 SHA-1 指纹

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

或者您可以使用命令行获取您的 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。

然后声明 SHA-1 指纹,如 Damini 所说

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

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

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

尝试在 CMD 中粘贴此代码:

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

MacOS 只需在终端中粘贴:

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

linux os 终端 运行 这个:

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

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

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

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

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

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

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

如果您使用 Google Play App Signing,则无需手动添加 SHA-1 密钥,只需登录 Firebase 进入 "project settings"->"integration"然后按一个按钮 link Google 使用 firebase,SHA-1 将自动添加。

当我使用 android studio

生成 sha1 密钥

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

那个 sha1 密钥 在调试 模式下有效,但在我构建 singed APK[=37= 时无效 ]

所以我使用 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

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

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

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

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

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

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

按回车键

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

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

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

运行 此命令来自您的 android 目录。

./gradlew signingReport 

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

cd android && ./gradlew signingReport

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

要获取发布证书指纹,请按照这个简单详细的步骤操作。

右键单击您的

android folder

add new file

将其命名为 'key.properties'。 (当然没有单引号)

添加这行

storePassword=any unique password

keyPassword=re-enter unique password

keyAlias=upload

storeFile= we'll put this later on

在您的终端上,添加以下内容并继续。

在 Mac/Linux

keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

在 windows

keytool -genkey -v -keystore c:\Users\USER_NAME\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload

在密码上,输入您输入的唯一存储密码。 在证书信息上,将其留空并继续。最后,键入 yes 以确认您的信息并继续。

转到您的 upload-keystore.jks 文件所在的指定路径,复制该文件或将其移动到您的项目中。具体在这个文件夹下。

android/app

返回您的 key.properties 文件并指定 upload-keystore.jks 路径在 storeFile 下的位置。即

../app/upload-keystore.jks

转到

android/app/build.gradle

在文件上,单击

Open for Editing in Android Studio

New Window

在新的 window 终端上,添加

./gradlew signingReport

并继续。

搜索变体和配置都为

的结果

release

在那下面,就是你的发布密钥。