Android 12系统下App Link无法唤起应用始终跳转浏览器问题求助
核心问题排查
你当前AndroidManifest.xml中配置的intent-filter指定host为abc.test.com,但你将assetlinks.json部署在了ourdomain域名下,不符合App Links的验证规则:每一个在intent-filter中声明的https host,都必须在自身域名的.well-known路径下托管对应的assetlinks.json文件,你需要将文件迁移到https://abc.test.com/.well-known/assetlinks.json路径下才会生效。
其他常见问题排查
- 调整assetlinks.json的签名配置:同时在文件中添加debug环境和正式环境的两组SHA256值,不要只保留正式环境的SHA,否则debug版本无法通过域名验证,自然无法唤起应用
- 检查assetlinks.json的访问配置:
- 访问地址不能有301/302等重定向,必须直接返回200状态码
- 返回头的Content-Type必须为
application/json - 不能通过robots.txt限制爬虫访问对应路径
- 手动校验系统关联状态:安装应用后执行adb命令
adb shell dumpsys package domain-preferred-apps,查找你的应用包名,确认abc.test.com的状态为verified;如果验证失败可以手动触发重新校验:adb shell pm verify-app-links --re-verify 你的应用包名 - 检查设备端默认打开设置:如果之前操作时手动选择过用浏览器打开该域名的链接,系统会保留默认偏好,需要进入应用信息页-「默认打开」-「添加链接」,手动勾选对应域名,或者清除浏览器的默认打开设置
- Android 12及以上版本适配:确保应用targetSdkVersion>=31时没有禁用App Links验证的相关配置,且安装应用时设备处于联网状态,能够正常访问对应域名的assetlinks.json完成校验
内容的提问来源于stack exchange,提问作者Asd
相关产品推荐
相关产品推荐

