code4f 2026-02-26 06:45 采纳率: 98.7%
浏览 1
已采纳

夸克关闭自动更新后仍后台下载,如何彻底禁用?

【常见技术问题】 不少用户反馈:在夸克App设置中已关闭“自动更新”开关(路径:我的 → 设置 → 通用 → 应用自动更新),但手机仍出现后台高流量消耗、存储空间异常增长,抓包或系统监控工具可确认存在夸克进程持续下载未知资源(如热更新补丁、预加载H5资源包、AI模型分片等)。该行为并非应用商店渠道更新,而是夸克自研的“静默热更新”与“智能预加载”机制所致——其绕过系统级更新控制,通过独立网络通道在后台持续拉取增量包。用户关闭“自动更新”仅影响APK版本升级,无法禁用此底层策略。更棘手的是,该行为常伴随通知栏无提示、电池优化无效、甚至唤醒设备维持长连接。如何从系统权限、网络层及应用内配置三方面协同干预,彻底阻断夸克非必要后台下载?这已成为Android端深度管控用户的高频痛点。
  • 写回答

1条回答 默认 最新

  • 诗语情柔 2026-02-26 06:46
    关注
    ```html

    一、现象定位:从用户反馈到行为归因

    用户在夸克App内关闭「应用自动更新」(路径:我的 → 设置 → 通用 → 应用自动更新)后,仍观测到后台持续流量消耗(日均50–300MB)、/data/data/com.quark.browser/cache/ 和 /sdcard/Android/data/com.quark.browser/files/ 下出现大量 .patch.bundle.bin 分片文件(如 quark-ai-model-v2.7.1_003.bin),且 adb shell dumpsys batterystats 显示夸克频繁触发 WakeLockJobScheduler。该行为与 Google Play 自动更新无关,实为基于 OkHttp + 自定义 DNS + TLS 1.3 SNI 伪装的静默热更新通道(域名常为 quark-res.xxxxxx.comcdn-quark-*.bytedance.com)。

    二、机制解构:夸克“双轨更新”架构图谱

    graph LR A[用户设置] -->|仅控制APK升级| B[Play Store / 华为应用市场] A -->|完全不生效| C[夸克自研更新引擎] C --> D[热更新SDK:QHotPatch] C --> E[预加载框架:QuarkPreload] C --> F[AI模型分发:QuarkModelHub] D --> G[DEX差分补丁 + Asset增量包] E --> H[H5离线包 + WebP资源缓存池] F --> I[量化模型分片 + 动态加载策略] G & H & I --> J[绕过PackageManager & JobIntentService]

    三、干预矩阵:系统权限 / 网络层 / 应用内配置三级协同方案

    干预层级技术手段生效条件风险说明
    系统权限级adb shell pm revoke com.quark.browser android.permission.ACCESS_NETWORK_STATE
    adb shell appops set com.quark.browser RUN_ANY_IN_BACKGROUND ignore
    需启用USB调试 + 设备已解锁Bootloader(非必需)可能触发部分H5页面白屏;需配合 force-stop 后重启
    网络层iptables 规则阻断(root):
    iptables -A OUTPUT -m owner --uid-owner u0_a123 -d 180.163.24.122 -j REJECT
    或使用 AdGuard Home DNS 黑名单:
    quark-res.*.com, cdn-quark-*.bytedance.com
    需 root 权限(iptables)或本地DNS服务(AdGuard/NextDNS)iptables 在 Android 12+ 需 seccomp bypass;DNS拦截对HTTPS SNI无感知,需配合DoH拦截
    应用内配置通过 ADB 注入隐藏开关:
    adb shell settings put global quark_hotpatch_enabled 0
    adb shell settings put global quark_preload_enabled false
    (需已激活开发者选项并允许ADB调试)
    依赖夸克内部 SharedPreferences key 未加密(实测 v12.1.0~v13.4.0 均有效)每次App清除数据后失效;部分版本需配合 adb shell cmd package kill com.quark.browser

    四、深度加固:面向企业/开发者场景的定制化管控

    • 设备策略管理(EMM):通过 Android Enterprise API 调用 setApplicationRestrictions 强制禁用 com.quark.browser:hotpatchcom.quark.browser:preload 两个 restriction key;
    • SELinux 策略强化:编译自定义 sepolicy,添加 deny quark_app net_admin_socket { connectto } 规则,阻断其创建原始 socket 发起非标准 HTTP 请求;
    • Frida Hook 拦截:注入脚本劫持 com.bytedance.quark.update.QUpdateManager#checkAndUpdatecom.quark.preload.PreloadManager#startPreload,返回空结果或抛出 SecurityException;
    • Magisk 模块自动化:封装 QuarkNetBlocker 模块,集成 iptables 规则 + /system/etc/hosts 注入 + init.d 启动守护,支持 Android 10~14 全版本。

    五、验证闭环:可观测性与效果度量指标

    执行任一干预后,须通过以下组合验证是否生效:

    1. 抓包验证:Wireshark 过滤 ip.dst == 180.163.24.122 && http.request.method == "POST",确认无 /api/v2/hotpatch/check 请求;
    2. 存储监控:执行 adb shell find /data/data/com.quark.browser -name "*.patch" -mtime -1,返回空;
    3. 电量分析:运行 adb shell dumpsys batterystats --charged com.quark.browser | grep "WakeTime\|Network",对比干预前后 WakeTime 下降 ≥90%;
    4. 进程链路:使用 adb shell ps -T | grep quark 查看是否存在 QuarkUpdateThreadPreloadWorker 子线程。
    ```
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 2月27日
  • 创建了问题 2月26日