App Links无法正常工作,域名差异是否为失效诱因?
这很可能就是App Links失效的核心原因!
Android App Links的验证逻辑是严格匹配域名的,关键要看你在AndroidManifest.xml的<intent-filter>里声明的android:host值是什么:
如果你的
android:host设为www.example.com:那把assetlinks.json放在https://www.example.com/.well-known/下是完全正确的,这时候失效可能是其他问题,比如:- 调试密钥指纹是否和
assetlinks.json里的一致(注意调试密钥和发布密钥是不同的,别搞混) assetlinks.json的格式是否正确(比如JSON语法错误,或者包名/指纹拼写错误)- 你的HTTPS配置是否合规(比如证书是否被Android系统信任,有没有出现重定向跳转)
- 调试密钥指纹是否和
如果你的
android:host设为example.com(裸域名):那问题就出在这里了!Android系统在验证App Links时,只会去你声明的host对应的域名路径下查找assetlinks.json——也就是https://example.com/.well-known/assetlinks.json,不会自动去www子域名下检索。这种情况下,即使www域名下的文件完全正确,系统也会因为找不到匹配的验证文件而判定App Links无效。
快速排查&修复建议
- 核对
AndroidManifest.xml里的android:host值,确保和assetlinks.json部署的域名完全一致(包括是否带www) - 用Android Studio自带的「App Links Assistant」工具(Tools > App Links Assistant)做一键验证,它会帮你检查域名匹配、文件有效性、指纹一致性等问题
- 测试时可以用adb命令直接触发链接跳转,看是否能打开你的App:
adb shell am start -a android.intent.action.VIEW -d "https://你的域名/测试路径" - 确保
assetlinks.json的Content-Type响应头是application/json,且访问时没有3xx重定向(系统要求直接访问到文件,不接受跳转)
内容的提问来源于stack exchange,提问作者Tarun Deep Attri
相关产品推荐
相关产品推荐

