Android 12/13深度链接所需权限及生产环境生效问题咨询
Android 12/13 深度链接失效问题处理指南
一、Android 12/13 深度链接的必要配置(无额外权限要求)
Android 12开始对自动验证型深度链接(autoverify="true")的规则更严格,无需新增权限,但必须满足以下条件:
- 深度链接对应的Activity必须添加
android:exported="true"(Android 12+强制要求,否则系统无法启动该Activity) - 网站
.well-known/assetlinks.json文件必须通过HTTPS直接访问,不能有重定向,且文件内配置的签名指纹与生产应用完全匹配 intent-filter中的<data>标签必须明确指定scheme和host,禁止使用通配符(例如不能写host="*")
Android 13新增的QUERY_ALL_PACKAGES权限仅用于需要处理其他应用深度链接的场景,自身应用的深度链接不需要申请。
二、Android 12 签名匹配后生产环境是否生效
只要满足以下条件,生产环境的深度链接完全可以正常触发:
- 生产包的签名指纹与
.well-known/assetlinks.json中配置的完全一致(包括签名算法、SHA-256指纹) - 网站的
assetlinks.json配置正确,且能被系统无阻碍访问(无HTTPS证书问题、无防火墙限制) AndroidManifest.xml中深度链接对应的Activity已设置exported="true",intent-filter配置符合要求- 发布到应用商店的生产包使用的是和
assetlinks.json匹配的正式签名(避免用调试签名打包生产版本)
快速排查步骤
- 执行
adb shell pm verify-app-links --re-verify <你的应用包名>命令重新验证链接,通过输出结果定位问题 - 查看Logcat中
AppLinks标签的日志,获取验证失败的具体原因 - 检查用户是否手动设置了其他应用作为该链接的默认打开方式,这种情况会覆盖自动验证的结果
内容的提问来源于stack exchange,提问作者Vikas Kumar
相关产品推荐
相关产品推荐

