You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Target SDK 33下Android App Links失效及域名验证求助

Target SDK 33迁移后App Links真机失效的域名验证方案

问题背景

将应用Target SDK版本迁移至33后,App Links在模拟器中正常工作,但真机上完全失效。手动在设备中选择网页地址关联的应用可恢复功能,但无法要求用户每次执行该操作。

尝试执行Android官方文档中的手动验证命令:

adb shell am compat enable 175408749 com.myapp.package

终端报错:

Cannot override 175408749 for com.modere.global because the app's targetSdk (33) is above the change's targetSdk threshold (30)

解决方案

1. 先排查自动验证失败根源

App Links自动验证是生产环境的最优解,先确认以下几点:

  • 检查域名根目录下的.well-known/assetlinks.json文件是否存在,内容中的包名、SHA-256签名值是否与当前应用完全匹配(debug和release包签名需分别对应)
  • 用真机浏览器直接访问https://你的域名/.well-known/assetlinks.json,确认能正常加载且内容正确
  • 确认AndroidManifest.xml中,App Links对应的<intent-filter>已添加android:autoVerify="true"属性

2. Target SDK 33兼容的手动验证方法

175408749这个compat flag仅支持Target SDK ≤30的应用,33版本需用以下替代方式:

方式一:adb命令强制标记域名已验证(调试用)

执行以下命令,直接将目标域名标记为已验证状态:

adb shell pm set-app-links --package com.myapp.package 0 all https://你的域名/
  • 0 代表设置为已验证状态
  • all 表示对应用的所有用户生效
  • 末尾替换为你的目标域名

方式二:真机系统设置手动配置

在真机中操作:设置 → 应用 → 你的应用 → 打开方式 → 链接处理,找到对应的域名,手动设置为“已验证”。

方式三:修复自动验证(生产环境必做)

如果要避免用户手动操作,必须修复自动验证:

  • 确保域名支持HTTPS,无重定向、证书过期等问题
  • 确认应用有网络访问权限,真机可正常访问该域名(排除代理、VPN、企业网络限制等)
  • 检查assetlinks.json的格式是否正确,可通过Android Studio的App Links验证工具检查格式和匹配度

内容的提问来源于stack exchange,提问作者Akhileshwar Babu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 15:35:20