基于 libxposed API 102 的 LSPosed 模块,用于自定义华为运动健康的界面,以及按需屏蔽应用主动发起的服务调用。
- 目标包:
com.huawei.health - 静态定位基准:
17.0.7.310(versionCode1700007310);其他版本按 DexKit 定位结果逐项适配 - 页面:健康、运动、设备、我的,以及五项主界面底栏
非目标包、非主进程或非首包直接跳过。首次启动运动健康后后台扫描,匹配成功且已开启的项目独立安装;未命中、歧义或校验失败的项目保持原界面,不影响其他项目或独立的服务屏蔽。跨版本适配不等于所有版本全部兼容,未知的动态卡片、行项目和下发区块保持显示。
- 安装模块,在 LSPosed 中启用并将作用域设为华为运动健康。
- 打开模块设置,启用“界面精简”。
- 进入“布局精简”,再选择健康、运动、设备、我的或底栏分类,打开需要隐藏的项目。
- 修改后彻底重启华为运动健康。
后台服务管理入口独立于下面的布局开关,使用方式及限制见后文。
- 健康:搜索、更多菜单、快捷入口框、活动三环、编辑卡片、今日推荐、健康洞察、健康头条、提示卡。
- 运动:顶部分类栏、搜索、更多菜单、Banner、拉伸放松、古法养生、骑行课程、高尔夫课、热汗舞蹈、普拉提课、畅享运动、今日动一动、更多好课、明星教练。
- 设备:搜索、顶部菜单、自动升级/附近设备权限/自动切换/共享设备提示、添加设备、设备列表、设备功能、表盘、推荐内容、营销内容、整个商城。
- 我的:消息、账号资料、会员卡、我的群组、家庭空间、年度目标、周月年报、勋章、我的页营销卡片(新品上市/新人福利),以及成就、数据、课程与计划、活动、路线、个人资料、订单、资产、iHealth Labs、设置、隐私、帮助、反馈、检查更新、关于。
- 底栏:健康、运动、会员、设备、我的。
设置首页进入“后台服务精简”,搜索服务类名或进程,打开对应项目的“屏蔽”,再启用“启用服务屏蔽”。总开关默认关闭,所有服务默认放行,与“界面精简”独立。可使用“仅看已屏蔽”和“取消全部屏蔽”管理规则。修改后需彻底重启华为运动健康。
- 列表读取当前用户下已安装运动健康的服务声明,显示完整类名、进程、导出状态与系统启用状态;不推断服务用途,不提供“安全关闭”预设。
- 仅拦截主进程通过标准 Context API 主动发起的显式服务启动与绑定,包括前台服务启动;按目标包及完整组件名精确匹配。
- 不立即停止运行中的服务,不保证阻止系统、其他应用、子进程、直接 Binder 调用或 PendingIntent 唤起;不管理广播、JobScheduler 或 WorkManager 调度。
- 屏蔽会使服务启动返回
null、绑定返回false,可能影响依赖该服务的通知、设备连接和同步。应用若未处理失败返回也可能异常;取消屏蔽并重启可恢复模块放行。 - 服务不按运动健康版本号限制选择,由目标进程校验 ContextImpl 入口;更新后未发现的组件规则仍保留、允许取消,但不参与匹配。
- 配置读写使用 RemotePreferences;读取失败全部放行,写入失败尝试恢复旧值并显示状态。页面仅显示已保存的配置,不代表 Hook 已在设备上安装成功。
- 安装位置为 Application.attach 完成之后,早于此时的调用不在覆盖范围内。ContextImpl 签名不符合已核验规则时整项跳过,不扩大模块作用域。
- 应用内所有功能仅供学习交流与技术研究使用,请勿用于商业或违法用途
- 本模块完全免费使用,不存在收费盈利
- 如有侵权问题,请联系邮箱:nairain233@gmail.com
本项目采用 GNU 通用公共许可证 v3.0(GPL-3.0)授权,具体条款请参阅 LICENSE 文件。