指南摘要
获取 APK 签名证书 SHA-256 指纹,区分 Play 应用签名证书、上传证书与文件哈希,并规范化查询格式。
适合人群: 需要为注册查询准备签名输入,或正在排查 Play 与其他渠道证书差异的 Android 发布团队。
发布检查步骤
- 找到用户实际安装的正式 APK,确认渠道与版本。
- 执行 apksigner verify --print-certs,读取证书 SHA-256 行。
- Play 分发版本核对应用签名证书,不要误用 AAB 上传证书。
- 去除冒号等格式分隔后核对 64 位十六进制值,再与包名一起查询。
关键事实
证书指纹用于公开身份比对。不要用文件校验工具计算的 APK 文件哈希替代,也不要为了取得指纹而上传私钥。
详细说明
从正式 APK 提取 SHA-256
运行下列命令,查找 Signer #1 certificate SHA-256 digest 一行。复制完整证书指纹,别复制旁边的 SHA-1,也别拿调试包的结果用于正式发布。示例中的省略号只表示演示,实际查询必须使用完整值。
apksigner verify --print-certs app-release.apk
# Signer #1 certificate SHA-256 digest: d6ac...9e06Play Console 中两个证书应该选哪个
Play 应用签名证书对应 Google Play 交付给用户的 APK;上传证书验证 CI 提交的 AAB。两者用途不同,针对已分发应用的注册检查通常应使用应用签名证书。其他商店应从各自的正式 APK 读取,不能假定与 Play 相同。
- 应用签名证书:核对 Play 用户收到的版本。
- 上传证书:核对上传到 Play 的身份。
- 第三方渠道:检查该渠道真实产物。
整理格式,不接触私有签名材料
PkgReady 接受带冒号或紧凑格式的 SHA-256,并规范化为 64 位十六进制值。以下仅展示格式,不是可直接使用的指纹。保留原始输出以便核对,不需要提交 keystore、密码或私钥。
D6:AC:89:ED:...:9E:06
d6ac89ed...9e06填入正式包名;要核对实际 APK 的签名,再补充该产物的公开证书 SHA-256。查询用于发现登记问题,不能代替商店审核。
运行状态检测 →常见问题
SHA-1 或 APK 文件哈希能代替吗?
不能。这次状态查询比对的是公开签名证书的 SHA-256。SHA-1 是另一种证书摘要,而 APK 文件哈希描述的是整个文件;即使都看起来像十六进制字符串,也不能互换。
为什么 Play Console 显示两个证书?
启用 Play App Signing 后,上传密钥验证 AAB 上传,应用签名密钥签署交付给用户的 APK。先明确要检查的是上传错误还是安装版本的注册身份,再选相应证书。
来源与审核
最后审核: