某些 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>
如需获取调试证书指纹,请执行以下操作:
keytool -list -v \ -alias androiddebugkey -keystore ~/.android/debug.keystore
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 上的数字签名,请参阅为应用签名。