对客户端进行身份验证

某些 Google Play 服务(例如 Google 登录和应用邀请)会要求您提供签名证书的 SHA-1,以便我们为您的应用创建 OAuth2 客户端和 API 密钥。

使用 Play 应用签名功能

如果您已使用 Play 应用签名(这是使用 Android App Bundle 时的一项要求)发布应用,则可以从 Google Play 管理中心版本 > 设置 > 应用完整性页面获取 SHA-1。

对您的应用进行自签名

如果您没有使用 Play 应用签名功能,请按照以下说明使用 Keytool 或 Gradle 的签名报告获取 SHA-1。

对证书使用 Keytool

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

如需获取发布证书指纹,请执行以下操作:

keytool -list -v \
-alias <your-key-name> -keystore <path-to-production-keystore>

如需获取调试证书指纹,请执行以下操作:

Mac/Linux
keytool -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore
Windows
keytool -list -v \
-alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore

keytool 实用程序会提示您输入密钥库的密码。调试密钥库的默认密码为 android。然后,keytool 会将指纹输出到终端。例如:

Certificate fingerprint: SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09

在 APK 或 AAB 上使用 Keytool

要获取应用二进制文件的证书,请按以下步骤操作:

# APK file
keytool -printcert -jarfile app.apk

# AAB file
keytool -printcert -jarfile app.aab

使用 Gradle 的签名报告

您还可以使用 Gradle signingReport 命令获取签名证书的 SHA-1:

./gradlew signingReport

签名报告将包含应用的每个变体的签名信息:

> Task :app:signingReport
Variant: debug
Config: debug
Store: ~/.android/debug.keystore
Alias: AndroidDebugKey
MD5: A5:88:41:04:8D:06:71:6D:FE:33:76:87:AC:AD:19:23
SHA1: A7:89:E5:05:C8:17:A1:22:EA:90:6E:A6:EA:A3:D4:8B:3A:30:AB:18
SHA-256: 05:A2:2C:35:EE:F2:51:23:72:4D:72:67:A5:6C:8C:58:22:2A:00:D6:DB:F6:45:D5:C1:82:D2:80:A4:69:A8:FE
Valid until: Wednesday, August 10, 2044

如需详细了解 Android 上的数字签名,请参阅为应用签名