Android App Links 验证失败(错误码 1024)的完整解决方案

阿涛小哥_8179

阿涛小哥_8179

2026-08-08

600人浏览

原创

Android App Links 验证失败(错误码 1024)的完整解决方案

Android App Links 验证返回错误码 1024,根本原因在于 assetlinks.json 中缺失关键权限 delegate_permission/common.handle_all_urls,该权限是系统执行自动验证(autoVerify)的强制前提,与是否上架 Play Store 无关。

android app links 验证返回错误码 1024,根本原因在于 `assetlinks.json` 中缺失关键权限 `delegate_permission/common.handle_all_urls`,该权限是系统执行自动验证(autoverify)的强制前提,与是否上架 play store 无关。

App Links 的自动验证机制(由 android:autoVerify="true" 触发)要求服务端的 assetlinks.json 文件必须包含 handle_all_urls 权限声明,否则即使签名、域名、HTTPS 等配置全部正确,系统仍会拒绝验证并返回状态码 1024(含义为 “Verification failed: missing required relation”)。

✅ 正确的 assetlinks.json 结构

您当前的文件仅声明了 common.get_login_creds,这适用于 WebAuthn/Passkey 场景,但不足以启用 App Links 自动验证。必须为 Android App 目标添加 handle_all_urls 权限:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "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"
    ]
  }
}]

⚠️ 注意:handle_all_urls 是 App Links 自动验证的唯一必需关系(required relation);get_login_creds 属于可选扩展权限,用于 Passkey 登录,不能替代前者。

? 同时确保 Manifest 配置合规

您的 <intent-filter></intent-filter> 基本正确,但需确认两点:

  • 必须同时声明 http 和 https scheme(已满足);
  • android:host 必须与 assetlinks.json 中声明的域名完全一致(含大小写、无尾斜杠) —— 您使用 unibeam.github.io 是正确的;
  • android:autoVerify="true" 已设置,且 intent-filter 位于正确的 Activity 内。

无需在 Play Store 发布即可验证:调试版 APK 安装后,只要签名指纹匹配且 assetlinks.json 可公开访问(HTTP 状态码 200),adb shell pm verify-app-links --re-verify com.unibeam.passkey1 即可触发重验证。

? Passkey 场景的补充配置(可选但推荐)

若需同时支持 Passkey 登录,建议采用双目标结构(Web + Android),并在 assetlinks.json 中追加 Web 站点声明:

[
  {
    "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": ["..."]
    }
  },
  {
    "relation": ["delegate_permission/common.handle_all_urls", "delegate_permission/common.get_login_creds"],
    "target": {
      "namespace": "web",
      "site": "https://unibeam.github.io"
    }
  }
]

? 提示:Web 端声明需配合 Android 应用内 DigitalAssetLinks API 或 asset_statements 元标签(见 FIDO Android 文档),但 App Links 验证本身不依赖此步骤。

Android Remote Control
Android Remote Control

远程控制 Android 设备,支持截图、自动化操作手机 App 等功能。本应用使用 uiautomator2 作为底层框架,通过 ADB 连接设备,用户无需 Root(1)查看手机屏幕;(2)自动化操作手机 App;(3)远程安装/卸载应用……

下载

✅ 验证与排错流程

  1. 使用官方校验工具检查 JSON 格式与可访问性:
    https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://unibeam.github.io&relation=delegate_permission/common.handle_all_urls

  2. 清除旧验证状态并重试:

    adb shell pm clear-app-links com.unibeam.passkey1
    adb shell pm verify-app-links --re-verify com.unibeam.passkey1
  3. 查看最终状态:

    adb shell pm get-app-links --user cur com.unibeam.passkey1

    成功时 unibeam.github.io 状态应显示 verified,而非 1024。

总结:错误码 1024 是明确的配置缺失信号,修复核心在于补全 handle_all_urls 权限。App Links 功能完全离线可用,与应用分发渠道无关;Passkey 支持则在此基础上叠加扩展,二者可协同工作,但验证逻辑彼此独立。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

android

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
android开发三大框架
android开发三大框架

android开发三大框架是XUtil框架、volley框架、ImageLoader框架。本专题为大家提供android开发三大框架相关的各种文章、以及下载和课程。

2023.08.14

902

4

android是什么系统
android是什么系统

Android是一种功能强大、灵活可定制、应用丰富、多任务处理能力强、兼容性好、网络连接能力强的操作系统。本专题为大家提供android相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.22

2707

5

android权限限制怎么解开
android权限限制怎么解开

android权限限制可以使用Root权限、第三方权限管理应用程序、ADB命令和Xposed框架解开。详细介绍:1、Root权限,通过获取Root权限,用户可以解锁所有权限,并对系统进行自定义和修改;2、第三方权限管理应用程序,用户可以轻松地控制和管理应用程序的权限;3、ADB命令,用户可以在设备上执行各种操作,包括解锁权限;4、Xposed框架,用户可以在不修改系统文件的情况下修改应用程序的行为和权限。

2023.09.19

5297

7

android重启应用的方法有哪些
android重启应用的方法有哪些

android重启应用有通过Intent、PendingIntent、系统服务、Runtime等方法。本专题为大家提供Android相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

685

5

Android语音播放功能实现方法
Android语音播放功能实现方法

实现方法有使用MediaPlayer实现、使用SoundPool实现两种。可以根据具体的需求选择适合的方法进行实现。想了解更多语音播放的相关内容,可以阅读本专题下面的文章。

2024.03.01

964

5

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

60

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

40

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

40

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

20

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 44.7万人学习

Java 教程
Java 教程

共578课时 | 194万人学习

Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 9.6万人学习