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

如何配置Expo使密码管理器关联应用与Web域名(Android问题)

Android密码管理器凭据配置失效排查方案

我已成功完成iOS端配置,让密码管理器能提供对应Web域名的凭据,但Android端按以下步骤配置后无法生效,求经验人士帮忙排查:

iOS 已生效的配置

  • 在app.json中添加关联域名:
"associatedDomains": [
    "webcredentials:my.domain.com"
],
  • 在Web域名根目录下部署/.well-known/apple-app-site-association.json文件

Android 已完成的配置

1. 域名侧的assetlinks配置

在https://my.domain.com/.well-known/路径下放置assetlinks.json,内容:

[
    {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
            "namespace": "web",
            "site": "https://my.domain.com"
        }
    },
    {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
            "namespace": "android_app",
            "package_name": "com.domain.my",
            "sha256_cert_fingerprints": ["..."]
        }
    }
]

2. 应用侧的Intent Filter配置

在app.json中添加:

"intentFilters": [
    {
        "action": "VIEW",
        "autoVerify": true,
        "data": [
            {
                "scheme": "https",
                "host": "my.domain.com"
            }
        ],
        "category": ["DEFAULT", "BROWSABLE"]
    }
]

可优先排查的点

  • SHA256指纹正确性:确认指纹是当前构建包所用签名证书的SHA256值,debug和release证书指纹不同,测试时要对应上,可通过keytool -list -v -keystore 你的证书路径获取。
  • assetlinks文件可用性:直接访问https://my.domain.com/.well-known/assetlinks.json,检查是否能正常返回JSON,Content-Type必须是application/json,不能有301/302重定向或404错误。
  • Intent Filter结构合法性:如果是用Expo等框架,要确认intentFilters在app.json中的嵌套层级正确,比如是否在android字段下的intentFilters数组里。
  • 系统验证状态:用adb命令adb shell dumpsys package domain-preferred-apps查看,找到你的域名对应的条目,看verified字段是否为true,若为false则说明域名与应用的关联验证未通过。
  • 密码管理器测试:先切换到系统自带的Google密码管理器测试,排除第三方密码管理器的兼容性问题。
  • 包名与签名一致性:确保package_name和应用实际包名完全一致,且签名证书和指纹匹配,debug包不能用release证书签名,反之亦然。

内容的提问来源于stack exchange,提问作者Johannes Dold

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 22:31:59