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

Android App Links自动验证间歇性失效问题排查求助

修复App Links间歇性失效及验证问题的方案

一、修正Manifest配置的潜在问题

  • 仅在处理VIEW动作的intent-filter上保留android:autoVerify="true",LAUNCHER类型的过滤器不需要该属性——系统仅针对VIEW类链接做验证,多配置会干扰验证逻辑。修改后的代码如下:
<activity
    android:name=".ui.other_common_screens.splash.view.SplashActivity"
    android:exported="true"
    android:launchMode="singleTop"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustPan">

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

    <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" />
        <data android:host="example.com" />
        <data android:pathPrefix="/" />
    </intent-filter>
</activity>
  • 确认没有其他Activity声明了相同的data规则,避免链接匹配冲突。

二、解决验证状态不显示及间歇性失效问题

  • 强制触发重新验证:卸载应用后,清除Google Play服务的缓存(设置→应用→Google Play服务→存储→清除缓存),再重装Beta版。系统会缓存旧的验证结果,清除Play服务缓存能强制重新拉取assetlinks.json。
  • 核对Beta版签名SHA-256:确保assetlinks.json中的SHA指纹是Beta版应用的签名值,而非正式版。Beta版通常使用调试密钥或独立的Beta密钥,和正式版不一致会直接导致验证失败。可通过命令keytool -list -v -keystore your-beta-keystore.jks获取正确的SHA-256。
  • 检查assetlinks.json的访问有效性:
    • 服务器返回的文件Content-Type必须是application/json,HTTP状态码为200,无重定向。
    • 服务器的robots.txt未阻止Googlebot爬取.well-known/assetlinks.json。
    • 排除CDN或防火墙拦截Google验证请求的可能,部分CDN会对非浏览器UA的请求返回错误。

三、稳定性测试方法

  • 用ADB命令直接测试跳转,排除扫码工具干扰:adb shell am start -a android.intent.action.VIEW -d "https://example.com/services/categories/7/service/11/da-001/donation-details/2/25"
  • 覆盖多Android版本测试:Android 11+的App Links验证逻辑有调整,需确保主流版本(10、12、13等)均能稳定工作。
  • 查看验证日志定位问题:执行adb logcat -s IntentFilterIntentService过滤日志,查找Verification failed for domain或Asset links file fetch failed等错误信息,直接定位验证环节的问题。

四、额外注意事项

  • 短时间内不要频繁卸载重装应用,系统有验证频率限制,多次请求可能被限流导致验证延迟。
  • 若使用Google Play Beta测试,开启App Signing的情况下,需使用Google Play提供的上传密钥SHA码,而非本地签名密钥。

内容的提问来源于stack exchange,提问作者Usman Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 01:22:33