如何解决Statement List Tester报错?App深度链接权限缺失问题
解决App链接验证错误及连带打开浏览器的问题
我来帮你搞定这个困扰你的App链接问题,结合你遇到的错误提示和现象,咱们一步步排查修复:
1. 先修复"No app deep linking permission found"错误提示
这个错误核心是系统没验证通过你的App和域名的关联权限,主要从以下两点检查:
验证Asset Links文件配置与部署
确保你已经在托管域名的根目录下部署了/.well-known/assetlinks.json文件,内容要准确包含你的App包名和对应签名证书的SHA-256指纹,格式示例如下:[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.your.app.package", "sha256_cert_fingerprints": ["AA:BB:CC:...你的SHA-256指纹"] } }]直接在浏览器访问
https://你的托管域名/.well-known/assetlinks.json,确认文件能正常加载,没有404错误或格式问题。检查AndroidManifest.xml的Intent Filter配置
处理App链接的Activity必须配置android:autoVerify="true",同时scheme、host要和域名匹配,示例配置:<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="/你的App链接路径" /> </intent-filter>这个
autoVerify属性是系统自动验证Asset Links的关键,缺失的话就会出现权限未找到的错误。
2. 解决App链接连带打开浏览器的问题
这个现象本质是App链接验证未通过,系统 fallback 到浏览器打开,在完成上面的配置后,还可以做这些操作:
- 用adb命令测试链接跳转
执行以下命令直接测试链接是否能唤起你的App:
如果能直接打开App,说明配置已经生效;如果还是打开浏览器,继续检查SHA-256指纹是否匹配(注意debug和release证书的指纹是不同的,别搞混)。adb shell am start -a android.intent.action.VIEW -d "https://你的托管域名/你的App链接路径" - 清除浏览器缓存或重启设备
部分设备会缓存之前的验证结果,清除浏览器缓存或者重启设备,让系统重新验证Asset Links配置。
完成以上步骤后,回到Statement List Generator and Tester工具,重新录入正确的包名、域名和指纹信息,再次测试应该就能解决错误提示,并且实现直接打开目标App而不连带浏览器了。
内容的提问来源于stack exchange,提问作者Psp360
相关产品推荐
相关产品推荐

