Flutter中Uni Links深度链接异常:输入URL无法唤起应用
可能的问题及解决方向
域名未实际部署或无法访问
你使用的unilinks.example.com是示例域名,本身没有被解析到任何可用服务器,浏览器输入时自然会显示“无法访问此站点”。要让深度链接正常工作,你需要使用真实存在且可正常访问的域名,再完成后续验证配置。App Links验证未完成
因为你在intent-filter里设置了android:autoVerify="true",这会触发Android的App Links验证流程——必须在域名的.well-known目录下放置assetlinks.json文件,用来证明你的应用有权处理该域名的链接。如果验证失败,系统不会将该域名的链接关联到你的应用,浏览器就会直接尝试访问网页。
注意:assetlinks.json里的SHA-256签名指纹必须和你当前测试应用的签名完全匹配(debug包用debug签名指纹,release包用release签名指纹)。测试方式不正确
直接在浏览器地址栏输入URL,部分浏览器会优先尝试加载网页而非唤起应用。建议换以下方式测试:- 点击短信、邮件或其他应用内的该链接
- 使用ADB命令强制唤起:
adb shell am start -W -a android.intent.action.VIEW -d "https://unilinks.example.com"
系统或浏览器限制
- Android 6.0(API 23)以下版本不支持App Links,若在旧设备测试,需要移除
android:autoVerify="true",改用普通深度链接。 - 部分浏览器有自定义链接处理逻辑,需在浏览器设置中确认是否允许第三方应用唤起链接。
- Android 6.0(API 23)以下版本不支持App Links,若在旧设备测试,需要移除
应用签名不匹配
如果你的应用使用了不同签名(比如debug和release签名不同),而assetlinks.json里只配置了其中一种,会导致验证失败。确保文件里包含当前测试应用的签名指纹。
内容的提问来源于stack exchange,提问作者Jaimin Modi
相关产品推荐
相关产品推荐

