
Android App Links 验证失败(错误码 1024)通常源于 assetlinks.json 中缺失关键权限声明或 intent-filter 配置不匹配,无需上架 Play Store 即可本地调试验证。
android app links 验证失败(错误码 1024)通常源于 `assetlinks.json` 中缺失关键权限声明或 `intent-filter` 配置不匹配,无需上架 play store 即可本地调试验证。
Android App Links 的自动验证机制要求 严格匹配三方声明与客户端配置。你当前遇到的 1024 错误(对应 STATE_UNKNOWN_ERROR)并非网络或签名问题,而是 Google Play Services 在校验时发现:你的 assetlinks.json 文件未声明 delegate_permission/common.handle_all_urls 权限 —— 这是 android:autoVerify="true" 正常工作的必要前提。
? 核心修复:更新 assetlinks.json
原文件仅包含 common.get_login_creds,但 App Links 自动验证强制要求 handle_all_urls。请将 https://unibeam.github.io/.well-known/assetlinks.json 更新为以下结构(同时支持 App Links 深度链接与 Passkey 登录):
[{
"relation": [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target": {
"namespace": "android_app",
"package_name": "com.unibeam.passkey1",
"sha256_cert_fingerprints": [
"55:E2:84:F9:9B:59:82:02:FA:2B:87:B9:90:77:8F:8D:62:3F:32:CC:76:92:47:0C:A8:73:7C:AE:11:8D:B6:0C",
"0E:67:51:BF:E4:C4:01:7F:CB:7D:4C:1E:02:7E:DF:8D:40:25:9A:5C:20:2A:AB:96:71:15:F1:46:40:09:58:3D"
]
}
}, {
"relation": [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target": {
"namespace": "web",
"site": "https://unibeam.github.io"
}
}]
✅ 关键点:
- 每个
relation数组必须同时包含handle_all_urls和get_login_creds(如需 Passkey); -
android_app条目用于验证 APK 签名,web条目用于 WebAuthn 关联; - 所有指纹需与实际构建签名完全一致(区分 debug/release)。
? Manifest 配置优化
确保 AndroidManifest.xml 中的 intent-filter 同时满足 App Links 与安全性要求:
<intent-filter android:autoverify="true"><action android:name="android.intent.action.VIEW"></action><category android:name="android.intent.category.DEFAULT"></category><category android:name="android.intent.category.BROWSABLE"></category><data android:scheme="https"></data><data android:host="unibeam.github.io"></data><!-- 建议移除 http scheme(非安全协议不参与 autoVerify) --></intent-filter>
⚠️ 注意事项:
Android 开发调试技能,通过系统 ADB 工具操作 Android 设备。以下场景必须触发此技能:(1) 直接 ADB 操作——安装 APK、查看设备列表、抓取 logcat 日志、查看已安装应用、清除应用数据、截图、重启设备、拉取/推送文件、查看 CPU/内存/电池信息、adb shell 操作;(2)...
-
android:autoVerify="true"仅对httpsscheme 生效,http将被忽略且可能干扰验证; -
host必须与assetlinks.json中web.site的域名完全一致(含https://前缀在 JSON 中,但host属性只需域名); - 修改后需清除验证缓存:
adb shell pm clear-app-links com.unibeam.passkey1,再重新触发验证(如点击链接或重启应用)。
✅ 验证是否生效
执行命令检查状态(需设备已安装并触发过一次验证):
adb shell pm get-app-links --user cur com.unibeam.passkey1
成功时 Domain verification state 应显示 verified,而非 1024:
Domain verification state: unibeam.github.io: verified ← 正确状态
? 提示:App Links 验证不要求应用上架 Play Store,本地安装 APK 即可完成全流程调试。错误 1024 是典型配置缺失信号,与分发渠道无关。
完成上述配置后,你的应用即可同时支持:
? 安全深度链接跳转(如 https://unibeam.github.io/login 直达 Activity)
? WebAuthn / Passkey 原生登录(通过 get_login_creds 关联网站凭据)
建议使用 Digital Asset Links API 在线校验 JSON 格式,并始终以 https 协议托管 assetlinks.json(GitHub Pages 默认支持)。










