HonorMarketTamer(荣耀市场净化)

⚠️ 本模块由 AI 生成 / This module is AI-generated

本项目由大语言模型(AI)在人类指导下生成并迭代维护,包括全部 Hook 代码、设置界面、 构建流水线与文档。代码未经人工长期审计,请自行评估风险后使用;欢迎人工审查与 PR。

This project was generated and iterated by a large language model (AI) under human direction, including all hook code, the settings UI, the build pipeline and these docs. The code has not been long-term audited by humans — evaluate the risk yourself; human review and PRs are welcome.

面向荣耀应用市场 com.hihonor.appmarket 的功能精简 LSPosed 模块。 设计原则:“搜索应用”与“应用更新”永远可用;其余功能全部提供独立开关,可随时屏蔽/恢复。

An LSPosed module that trims the Honor App Market (com.hihonor.appmarket). Design principle: "search" and "app updates" always keep working; every other feature is an independent switch you can toggle on or off at any time.

功能一览 / Features

分类 Category 功能 Feature
推荐流 Feed 搜索页推荐流在请求源头拦截(输入框即时可用)/ Search-page feed blocked at the request source (input box usable instantly)
推荐流 Feed 详情页推荐区块、更新页“新应用”推荐 / Detail-page recommendations & "new apps" on Updates page
广告 Ads 开屏广告、运营活动弹窗、悬浮窗、桌面卡片推广、个性化广告弹窗 / Splash ads, promo dialogs, floating windows, widget tips, personalized ads
骚扰 Nuisance 营销推送通知、自启与广播唤醒 / Marketing push notifications, auto-start & broadcast wake-ups
页面 Pages 底部「游戏/应用/抢鲜」页签 / Bottom tabs: Games / Apps / Early-Access
「我的」页 Mine page 签到、安全检测、清理加速、常用服务、滑动横幅卡片 / Check-in, security scan, cleaner, services, swipe banner cards
搜索 Search 搜索框滚动热词横幅 / Rolling hot-word banner in the search box

共 23 个开关,默认配置即推荐配置。设置页每个选项均附英文说明。 23 switches in total; defaults are the recommended set. Every option in the settings UI carries an English subtitle.

环境要求 / Requirements

  • 已 root 的荣耀/MagicOS 设备:Magisk 或 KernelSU + Zygisk + LSPosed。 A rooted Honor/MagicOS device: Magisk or KernelSU + Zygisk + LSPosed.
  • 荣耀应用市场 16.1.6.302(实测适配版本)。 Honor App Market 16.1.6.302 (the version this module was tested against).

该市场的包经过资源与代码混淆,其他版本的类名可能变化导致功能静默失效; 可在 LSPosed 日志过滤 HonorMarketTamer 查看 armed 行确认 Hook 是否命中。 The market APK is obfuscated; class names may change across versions and hooks can silently miss. Filter LSPosed logs for HonorMarketTamer and check the armed lines to confirm hooks are in place.

使用方法 / Usage

  1. 在 LSPosed 中启用本模块并勾选作用域「荣耀应用市场」。 Enable the module in LSPosed and select the "Honor App Market" scope.
  2. 强制停止「应用市场」后重新打开。 Force-stop the market app and reopen it.
  3. 设置入口:LSPosed 模块详情页,或桌面「荣耀市场净化」图标。 Open settings from the LSPosed module page, or the launcher icon.

权限说明 / Permissions note

模块日常运行(Hook 过程)不执行任何 root 操作。仅在设置页保存开关时会尝试请求 root 同步一份全局配置副本(绕过 LSPosed 数据目录重定向的读取限制);拒绝该请求不影响功能, 配置会自动落到其余副本路径。

The module performs no root operations while hooking. Root is only requested when you save switches in the settings UI, to sync a global copy of the config file (working around LSPosed's data-directory redirection). Denying that request does not break anything — the config falls back to other copies automatically.

从源码构建 / Build from source

本项目刻意不依赖 Gradle / Android SDK:

python tools/build_module.py

流程:javac --release 8(手写 stub)→ dalvik dx → 手写二进制 AndroidManifest (axml_writer.py)+ 最小 resources.arscarsc_builder.py)→ zip 打包 → apksig 签名。 产物输出至 dist/。构建深坑记录见 PITFALLS.md

This project deliberately avoids Gradle and the Android SDK: compile with plain javac --release 8 against hand-written stubs, dex it, emit a binary manifest (axml_writer.py) and a minimal resources.arsc (arsc_builder.py) by hand, zip, then sign with apksig. Output lands in dist/. See PITFALLS.md for the hard-won lessons.

项目结构 / Project layout

app/src/main/java/com/tamer/honormarket/
├── MainHook.java              # Xposed 入口 / entrypoint
├── TamerConfig.java           # 开关键与三级配置加载 / keys + config loading
├── hooks/                     # 各功能 Blocker / feature blockers
│   ├── RecommendFeedBlocker   # 搜索&详情推荐流 / search & detail feeds
│   ├── MineSectionBlocker     # 「我的」页卡片 / mine-page cards
│   ├── RollWordBlocker        # 滚动热词 / rolling banner
│   ├── TabStripper            # 底部页签 / bottom tabs
│   ├── PushWakeBlocker        # 推送与自启 / push & wake-up
│   └── SplashAdBlocker        # 开屏广告 / splash ads
└── ui/SettingsActivity.java   # 纯代码设置页 / code-only settings UI
tools/
├── build_module.py            # 一键构建流水线 / one-shot build pipeline
├── axml_writer.py             # 二进制 AXML 编码器 / binary AXML encoder
├── arsc_builder.py            # 最小 resources.arsc 构建器 / minimal arsc builder
├── _validate_arsc.py          # arsc chunk 链校验器 / arsc chain validator
└── icon/ic_launcher.png       # 中性图标 / neutral icon

免责声明 / Disclaimer

  • 本项目仅供学习与研究 Android Hook 技术使用,请勿用于商业用途。 For learning and research on Android hook techniques only; do not use commercially.
  • 与荣耀公司/HONOR 无任何关联;“应用市场”相关商标与原应用版权归原厂所有; 模块图标为中性图形,不含任何品牌素材。 Not affiliated with Honor Device Co., Ltd. All trademarks and rights to the original app belong to their owner; the module icon is a neutral graphic.
  • 使用本模块产生的任何后果由使用者自行承担。 Use at your own risk.

Releases

1.4.6

Stable

9/16/2026, 12:13:18 PM

Release v1.4.6(versionCode 37)

⚠ AI-generated module / 本模块由 AI 生成,代码未经人工长期审计,请自行评估风险。

更新内容 / What's new

  • 适配市场最新 16.1.8.305:开屏广告、运营弹窗、推荐流、消息中心等多处锚点
    重新对齐,旧版本市场继续可用。
    Adapted to the latest market 16.1.8.305: splash ads, promo dialogs, recommended
    feeds and the message center are re-anchored; older market versions keep working.
  • 拨开关即后台同步:市场不再抢占前台,新配置无需拉起或重启市场即可生效。
    Toggling a switch now syncs in the background — the market no longer comes to the
    foreground, and new settings apply without launching or restarting it.
  • 新增「运动健康传感器闸门」与「消息中心屏蔽」,均默认关闭。
    New health-sensor gate and message-center blocking, both off by default.
  • 与 v1.3.3+ 同签名密钥,可直接覆盖安装,无需卸载。
    Same signing key as v1.3.3+ — install over the old one directly.

Assets

1

1.3.9

Stable

9/9/2026, 3:04:25 PM

Release v1.3.9(versionCode 30)

⚠ AI-generated module / 本模块由 AI 生成,代码未经人工长期审计,请自行评估风险。

更新内容 / What's new

  • 「我的」页推荐流适配市场 16.1.8.301:市场自升级后「我的」页底部
    应用推荐流复活——真实请求核心漂移为新的混淆名(上拉加载直接调用、绕过旧
    钩子),响应汇聚方法也改名。新增请求核心拦截 + 空成功响应收口两个钩子;
    旧锚点全部保留,老版本市场继续可用。
    Mine-page feed re-adapted for market 16.1.8.301: the feed returned after a
    market self-upgrade because the real request core moved to a new obfuscated
    name (load-more calls it directly, bypassing the legacy hook) and the
    response sink was renamed. Two new hooks intercept the request core and
    settle the response with an empty success; all legacy anchors are kept.
  • 搜索结果页净化:屏蔽结果首位的广告展位大卡与底部「装机必备」横滑
    推荐区块(新开关:屏蔽搜索结果广告展位 / 屏蔽搜索页装机必备)。在装配
    适配器的数据入口按条目类型与标题过滤,正常搜索结果与加载更多不受影响。
    Search-result cleanup: the first-position ad booth card and the bottom
    "Must-install" strip are now removed (two new switches). Filtering happens
    at the assembly adapter's data entries by item type and section title;
    organic results and load-more keep working.
  • 工具页运营活动入口屏蔽:应用更新、安装管理、安装记录、卸载管理、
    清理加速、安全检测六个页面标题栏的运营活动按钮(如"耀耀农场"树形图标)
    不再显示(新开关:屏蔽工具页活动入口)。活动 H5 页面本身不受影响——
    入口消失后自然无法进入。
    Tool-page activity entries hidden: the promo buttons in the title bars of
    six tool pages (Updates, Install Manager, Install Record, Uninstall,
    Cleaner, Security Check) — e.g. the tree-shaped "Farm" icon — no longer
    show (one new switch). The H5 pages themselves are untouched; with the
    entry gone they are simply unreachable.
  • 与 v1.3.3+ 同签名密钥,可直接覆盖安装,无需卸载。
    Same signing key as v1.3.3+ — install over the old one directly.

Assets

1

1.3.6

Stable

8/30/2026, 7:17:49 AM

Release v1.3.6(versionCode 27)

⚠ AI-generated module / 本模块由 AI 生成,代码未经人工长期审计,请自行评估风险。

更新内容 / What's new

  • 开屏广告适配市场 16.1.7.303:市场自升级后开屏广告屏蔽失效,
    根因是 V3 实时链路(AB request_splash=1)绕过旧缓存锚点、且旧钩子的
    continuation 判定恒不匹配、广告视图工厂混淆名漂移。现补三点拦截:
    V3 数据入口、缓存数据入口(含预取分支)、新视图工厂;同时原四点
    锚点全部保留,老版本市场继续可用。
    Splash-ad blocking adapted to market 16.1.7.303: the V3 realtime path
    (AB request_splash=1) bypassed the old cached anchor, the legacy hook's
    continuation check never matched, and the ad view factory moved to a new
    obfuscated name. Three new anchors cover the V3 data entry, the cached
    data entry (incl. the prefetch branch) and the new view factory, while
    all four legacy anchors are kept for older market versions.
  • 配置解析严格布尔:配置副本中出现非 true/false 的损坏值时整键跳过,
    不再误判为 false——此前一次传输损坏可能把总开关解析成 false 导致
    模块整体静默失效。
    Strict boolean parsing: corrupted non-boolean values in a config copy are
    skipped per key instead of being read as false — a damaged copy could
    previously turn the master switch off and silently disable the module.
  • 签名文件名跟随密钥别名:v1 JAR 签名的 .SF/.RSA 基名不再固定,
    改由 keystore alias 生成(当前密钥下为 HONORMAR)。
    The v1 JAR signature base name (.SF/.RSA) now derives from the keystore
    alias instead of a fixed string (HONORMAR with the current key).
  • 与 v1.3.3+ 同签名密钥,可直接覆盖安装,无需卸载。
    Same signing key as v1.3.3+ — install over the old one directly.

环境要求 / Requirements

  • 已 root + Zygisk + LSPosed / rooted device with Zygisk + LSPosed
  • 荣耀应用市场 16.1.6.302 / 16.1.7.303 / Honor App Market 16.1.6.302 / 16.1.7.303

安装后请在 LSPosed 勾选作用域「荣耀应用市场」并强制停止市场后重开。
After install, select the market in the module scope list, then force-stop and reopen the market.

Assets

1

1.3.4

Stable

8/28/2026, 4:28:23 AM

Repackaged APK: manifest elements encoded without element-level namespace (InstallerX parse fix). Same version, no version bump.

Assets

1

1.3.3

Stable

8/23/2026, 3:50:45 PM

Release v1.3.3(versionCode 24)

⚠ AI-generated module / 本模块由 AI 生成,代码未经人工长期审计,请自行评估风险。

环境要求 / Requirements

  • 已 root + Zygisk + LSPosed / rooted device with Zygisk + LSPosed
  • 荣耀应用市场 16.1.6.302 / Honor App Market 16.1.6.302

安装后请在 LSPosed 勾选作用域「荣耀应用市场」并强制停止市场后重开。
After install, select the market in the module scope list, then force-stop and reopen the market.

Assets

1