选对签名证书
如果使用 Play App Signing,先从 Play Console 取得应用签名证书的 SHA-256 指纹。上传密钥、调试密钥或 APK 文件哈希都可能不同;输入框支持带冒号或不带冒号的十六进制值。
Android 开发
粘贴 assetlinks.json,按需填写包名和应用签名证书 SHA-256 指纹,再手动检查。
粘贴 assetlinks.json 或载入示例。
以下项目未经过本地工具实测。
JSON、包名和证书指纹只在当前标签页检查;不会联系域名。
粘贴 assetlinks.json 或载入示例。
链接仍在浏览器打开时,assetlinks.json 能解析不代表它授权了当前安装的应用。Android App Links 验证把包名、handle_all_urls 关系和证书指纹放回同一条声明里核对,避免跨条拼出假匹配。
准备发布文件或排查应用链接验证失败时,可以先做 Android App Links 配置检查和 assetlinks.json 校验,再把结果与 Play App Signing 中的证书信息对照。这里不会抓取域名,服务器响应和设备状态要另行检查。
区分文件里的授权声明与真实设备是否通过验证。
Android App Links 验证不会把第一条的包名与第二条的 SHA-256 指纹拼在一起。报告分别列出每条声明及关系,帮助定位指纹不匹配或缺少 handle_all_urls 的位置。
Android App Links 验证只分析粘贴内容。HTTPS、固定路径、JSON 类型、重定向、Manifest 的 autoVerify 和设备重验都留在独立清单中,不会被本地通过结果误标为已验证。
如果使用 Play App Signing,先从 Play Console 取得应用签名证书的 SHA-256 指纹。上传密钥、调试密钥或 APK 文件哈希都可能不同;输入框支持带冒号或不带冒号的十六进制值。
本工具只手动运行,也可按 Ctrl/Cmd+Enter。修改 JSON、包名或指纹会立刻让旧报告过期并禁用导出;语法出错时给出行列位置。
结构合法、找到同一声明的匹配以及设备真正通过验证是三件事。include 文件不会被联网展开,报告会保留不确定状态;下载得到的是完整报告,不受面板分页影响。
解析顶层数组、relation、android_app 或 web 目标,并用数组下标及字段路径定位问题。合法的 include 会提示未展开,不会被当成格式错误。
预期值允许大小写或省略冒号,比较时归一化;文件里的非标准大小写或分隔方式单独提示。SHA-1 指纹不符合 App Links 所需的签名证书指纹。
只把同一条 android_app 声明里的 handle_all_urls、包名与指纹算作匹配。其他 Digital Asset Links 关系仍显示,但不会自动变成应用链接授权。
复制或下载包含所有声明与问题的 JSON 报告。面板每次先显示 50 条,长文件也不必一次渲染所有项目。
向导通过只能说明它检查过的配置项。Android App Links 验证能查粘贴文件中的声明,但还要核对线上路径、重定向、实际安装证书、Manifest 范围及设备上的验证状态。
两台设备可能安装了不同签名的构建、缓存了不同的网站声明,或运行不同 Android 版本。先比较证书与主机,再分别用 adb 查询设备状态;本地报告不能替设备作结论。
如果只改服务器上的错误指纹或声明,可能无需改应用;若 Manifest 的 host、autoVerify 或路径范围有错,就可能需要更新应用。这个工具只检查 JSON,不能代替构建检查。
设备何时刷新受系统与缓存影响,不能从本地 JSON 推出固定时间。更改线上文件后,可用 adb shell pm verify-app-links --re-verify 针对已安装包名触发重验,再查询状态。
使用 Play App Signing 时,从 Play Console 的应用签名密钥证书读取 SHA-256;本地构建可用 keytool 查看对应签名证书。这里需要的是证书指纹,不是 assetlinks.json 的文件哈希。
声明结果与预期不同?