Android应用无签名信息无法通过Digital Asset Link关联网站求助
排查及解决步骤
- 核对AndroidManifest.xml的intent-filter配置
必须给对应的域名intent-filter添加android:autoVerify="true"属性,完整配置参考如下:
<intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="你的实际域名" android:pathPrefix="/*" /> </intent-filter>
该属性是触发系统主动拉取站点assetlinks.json、执行签名校验的必要前提,缺失时系统不会走关联验证流程,自然不会在pm get-app-links的返回结果中展示签名项和域名验证状态。
- 确认assetlinks.json的配置正确性
- 文件必须存放于站点根目录的
/.well-known/路径下,完整访问路径为https://你的域名/.well-known/assetlinks.json - 访问该路径不能有重定向、登录校验、跨域限制,返回的Content-Type必须为
application/json - 如果你启用了Play应用签名,文件中填写的SHA256指纹必须是Play控制台「应用签名」页面展示的应用签名密钥指纹,不能使用本地的上传密钥指纹。
手动触发关联验证重试
系统默认的验证触发有延迟,你可以执行以下命令强制触发重新验证:adb shell pm verify-app-links --re-verify com.example.app
执行后等待1-2分钟,再次执行adb -d shell pm get-app-links --user current com.example.app查看结果即可。多域名场景校验
如果你在intent-filter中配置了多个host,所有对应域名的/.well-known路径下都需要存放正确的assetlinks.json,任意一个域名验证失败都会导致整个关联流程失败,不会展示签名信息。
内容的提问来源于stack exchange,提问作者ACactus
相关产品推荐
相关产品推荐

