Repository navigation
Releases: ByteJuno/HuaweiPods-ColorOS
Release list
1.9.2.1
HuaweiPods ColorOS 1.9.2.1 — 稳定版
2026-10-28。应用 ID:io.github.artifical0.huaweipods.coloros,versionCode 28。
沿用原有固定发布签名,可保留数据覆盖安装同签名 ColorOS 版。
GitHub 与独立 LSPosed 模块仓库分发同一 APK,均为正式稳定版 / Latest。
新增与修复
- 设备空间图片:修复首页卡片及详情浮层把 FreeClip 显示为通用头戴耳机的问题,按当前设备读取原有配色图;保留自定义别名,压缩标准型号短标题。
- 详情热重载:更新模块时重新查找宿主可见窗口中的原生详情卡,覆盖独立 Dialog 浮层;保持详情页打开也能恢复耳机和盒图。图片读取有界,并隔离地址、型号与过期回调。
- 上游 1.9.2 选择性移植:新增 FreeBuds 4 独立身份,复用 4E 系列基础控制路径;修正 FreeBuds 7i 固定 / 头部跟踪空间音频的编号映射。
- FreeClip 2 状态与写入确认:开关使用耳机回读状态,返回前台自动刷新;严格校验空间音频及音效 TLV。页面或设备切换后旧请求失效,低时延写入在宿主校验回读后才提交自动保持策略,失败不提前保存。
- 刷新与更新检查:连接稳定后降低图标兜底刷新频率;GitHub 改名后的更新检查和项目链接使用 ByteJuno,兼容已有旧地址缓存。
- 关于页:更新 ByteJuno 当前头像,新增 Telegram 更新频道,中英文文案同步。
上游来源:HuaweiPods 1.9.2 / dc5b9d1。保留 ColorOS 会话、唤醒、流体云及发送方校验,不恢复 HyperOS 私有宿主。
验证范围
- 自动检查:629 项 Debug 单元测试通过,0 失败 / 错误;Debug Lint 无错误(188 Warning、37 Hint),Release 构建与 Android 测试代码编译通过。仪器测试仅编译,未运行。
- 已完成实机回归:OnePlus PLK110,ColorOS
PLK110_17.0.0.105(CN01),My Devices 17.25.10,LSPosed API 102,一代 FreeClip。合并后的候选包已验证模块连接、官方快速设备连接弹窗及完成按钮、应用内型号与图片、左右耳 / 盒电量、后台流体云。 - 设备空间专项:首页图片与完整短标题、详情大图及电量摘要正常;保持同一详情窗口打开连续两次覆盖安装,截图确认仍为正确耳机和盒图。其他设备卡片保留原图,未重启手机或蓝牙。
- 尚未覆盖:本轮未进行物理关盖 / 再开盒、长期熄屏及主动断连回归;无 FreeBuds 4、FreeClip 2、FreeBuds 7i 等新增 / 修正型号实机。其能力目前以协议、源码和回归测试为证据,不以一代 FreeClip 测试替代其他型号验收。
- 既有普通常驻通知路径在热重载后的资源不可用日志仍待专项验证;本轮实测通过的是官方弹窗、应用内图片、设备空间和流体云,不能据此声称所有通知路径均已验证。
安装与反馈
下载 HuaweiPods-ColorOS-1.9.2.1-release.apk。固定签名 SHA-256:
6c6a59a1df64af2b8829582a5d16efc4e04f0c6b3ee1bb0bb693d6848281ac8d。
APK 校验和见随附 SHA256SUMS.txt,两个仓库的 APK 应完全一致。
API 102 框架支持热重载;API 101 框架仍需按说明重新加载实际作用域。
首次安装请打开应用并完成蓝牙、通知和后台运行配置。
请在 GitHub Issues 提交型号、完整系统版本、耳机固件和复现步骤,并删除日志中的个人地址及账号信息。
1.9.1.1
HuaweiPods ColorOS 1.9.1.1 — 稳定版
应用 ID:io.github.artifical0.huaweipods.coloros,versionCode 27。
按维护者选择发布到稳定版频道;新增型号的 ColorOS 实机验证仍未完成,
请结合下述验证范围使用,不将稳定版标记等同于所有型号均已实测。
GitHub 与独立 LSPosed 模块仓库同步同一个固定签名 APK,标记为正式 Latest,
不更新上游原版 moe.chenxy.huaweipods 的商店条目。
新增与修复
- FreeBuds 6:独立型号 / 官方图片身份、电量、智慧动态 / 轻度 / 均衡三档降噪,
音效、自适应音量、掉落提醒、佩戴检测、盒提示音、低时延与已确认设置回读。
不复用 FreeBuds 6i 的通透或音效编号,不开放未确认的十段 EQ 写入。 - FreeClip 2 典藏版:识别
000173,普通版仍为000167,官方型号 / 配色图片隔离;
复用 FreeClip 2 已确认的控制协议。未获取官方图时只显示系列示意图。 - FreeClip 2 系列:点头 / 摇头来电动作及回读,“嘈杂环境大音量”设置及回读,
纠正原“声音质量优先”误命名。读取失败保留未知状态,不用旧缓存假装关闭。 - 6i / SE 4 ANC:音效和 SE 4 ANC 防风噪复用蓝牙宿主控制连接,减少重复建链;
读取失败可重试,成功状态需匹配回读。未导入缺少回读证据的 SE 4 ANC 智慧动态档位。 - 通用低时延:模块操作交由蓝牙宿主处理,手动操作使旧自动开启和旧回调失效;
只读远程配置下也保留当前手动意图。通用路径的“写出成功”不代表耳机状态回读;
FreeBuds 6 专属面板仍核验该型号的实际回读。 - 共用控制请求限本应用发起,校验实际发送方、地址、路由和 nonce;最多 32 个待处理
请求、8 秒超时。保留 RC3 的双 Profile 会话、后台唤醒、流体云、图片和身份校验。
来源:上游 1.9.1 的选择性协议移植。
不带回 HyperOS 私有宿主、超级岛、融合设备中心或 Android 14 适配。
验证范围
- 本地 577 项 Debug 单元测试通过,0 失败 / 0 错误;Debug Lint 无错误,
Release 构建及 Android 测试代码编译通过。仍有 187 项 Warning、39 项 Hint。 - 覆盖 FreeBuds 6 与 6i 隔离、普通版 / 典藏版身份、协议 CRC / 截断 / ACK 排除、
头动和大音量解析、低时延乱序、共用请求边界及广播信任域。 - 本轮没有连接设备,未自动安装或重启。新增型号、跨进程控制、不同 ColorOS 固件、
后台重连、长时间熄屏、关盖清理均仍需实机复测,不能用源码通过代替实测。 - 一代 FreeClip 图片资源未改动;历史用户已确认的稳定反馈不代表新增型号全部已验证。
安装与反馈
使用 HuaweiPods-ColorOS-1.9.1.1-release.apk;与 1.8.1-coloros.2 及之后固定签名
的 ColorOS 版可覆盖并保留数据。LSPosed 仓库早期临时签名版不能直接覆盖;先备份设置。
API 102 框架支持热重载,API 101 框架需重载蓝牙 / 我的设备 / 快速设备连接等实际作用域。
首次安装请打开应用,授予蓝牙和通知权限,并按说明允许自启动及后台行为。
请通过 Issue 提供:
手机 / 平板型号、完整 ColorOS 版本、框架版本、耳机型号 / 固件、复现步骤、预期与实际结果。
重点测试识别 / 配色图片、左右耳与盒电量、开盒和关盖、低时延手动关闭后重连、
FreeClip 2 头动 / 大音量与智慧音频的对应状态。日志请删除蓝牙地址、序列号、账号等隐私。
1.9.0.2-rc3
HuaweiPods ColorOS 1.9.0.2-rc3
预发布测试版,versionCode 26,应用 ID 为 io.github.artifical0.huaweipods.coloros。
使用既有固定发布签名,可覆盖同签名 ColorOS 版并保留数据。本发布不设为正式 Latest。
本次更新
选择性移植上游 59d5fa8,不整包合并:
- RFCOMM 控制通道更稳健:SDP 候选排除 HFP/HSP/A2DP/AVRCP 等音频服务,
避免将华为控制帧发往错误服务;保留 SPP、未知厂商服务及原有信道回退顺序。 - A2DP Hook 兼容性:按完整设备 / int / int 参数、非静态 void 签名匹配,
优先handleConnectionStateChanged,兼容connectionStateChanged和继承方法。
不按参数个数猜测未知固件的方法;后续双 Profile 会话判断保持不变。 - 蓝牙自定义名称:通知、流体云及连接卡片展示优先使用别名,正确处理空白、
中文和 emoji。原始机型名和显示名分开传递,避免改名影响图片或协议识别。
改名只刷新当前会话已有的电量展示,保留缓存标记,不伪造新的电量读取,
不发连接事件、不重放开盒弹窗或低电提醒。旧版状态广播仍可回退显示原始名称。
包含 RC2 的双 Profile 会话、有界重试、应用回收及热重载恢复修复。
耳机图片资源、独立包名、权限及发送方身份校验未改变;不引入 HyperOS 私有宿主、
超级岛常驻续期、Android 14 适配或 FreeBuds 6 等其他型号功能。
验证与限制
- 本地全量 Debug 单元测试 551 项通过,0 失败 / 0 错误,其中本轮新增 21 项。
- Debug Lint 无错误;仍有既有的 187 项 Warning 和 36 项 Hint。
- Release 构建及 Android 测试代码编译通过。回归覆盖音频服务过滤、控制服务保留、
回调签名 / 方法名 / 继承 / 错误签名、名称回退、机型隔离及其他设备改名不误刷新。 - 热重载 Parcel 设备测试扩展了原始机型、显示名、路由和缓存标记交接检查,
仅编译,未在设备执行;纯策略测试不等于实际固件 Hook 或跨进程行为已实测。 - 本轮未连接 Android 设备,未自动安装、重启蓝牙或重启设备。实际固件回调匹配、
耳机改名、后台重连和关盖清理仍需实机复测。上一轮日常稳定反馈不能替代本 RC 的验证。
安装提示
请选择本 Release 的 HuaweiPods-ColorOS-1.9.0.2-rc3-release.apk,不是临时 CI 包。
API 101 框架安装后需重载蓝牙与快速设备连接作用域;API 102 支持热重载。
仅同签名版本可覆盖安装;首次使用仍需打开应用并完成权限授权。
1.9.0.2-rc2
HuaweiPods ColorOS 1.9.0.2-rc2
测试版,versionCode 25,应用 ID 仍为 io.github.artifical0.huaweipods.coloros。
本发布为 GitHub Pre-release,不设为正式 Latest,正常稳定版检查更新不会主动推荐此包。
两项主要修复
- 统一 A2DP 媒体与 HFP 通话连接生命周期。生产端根据同一地址的两个音频 Profile
实际状态决定会话,任一仍连接就保留电量轮询与控制会话,两者明确断开才清理;
蓝牙关闭立即清理,未知状态和其他设备断开不误杀当前会话。迟到 Profile 查询由
查询代次及协议会话代次过滤,HFP-only 的启动恢复不再依赖 A2DP 地址列表。 - 唤醒通道保留未完成事件,最多 5 次退避重试(0.25 / 1 / 2 / 4 / 8 秒);绑定及
处理回执分别有 5 秒等待上限。队列上限 16,合并重复电量与连接状态,保留正在
投递的队首及最终断连状态。重试预算耗尽后保留状态,等待新的事件触发恢复。
APPLIED 回执在应用处理结束后发出,断连回执等待实际 Profile 查询完成。
客户端随机代次、传输代次与事件 ID 校验可隔离旧回执;服务端记录已完成事件,
丢失回执后重放不重复执行;热重载前检查工作线程是否可安全关闭。
服务入口继续要求 BLUETOOTH_PRIVILEGED,使用内核调用 UID 查询实际包名,限定四种
耳机生命周期动作。短同步 Binder 入口只校验并排队,蓝牙主线程不做同步 IPC。
应用线程执行通知与图片处理;没有修改系统永久白名单或绕过发送方校验。
同时纳入的上一轮修复
- HFP / A2DP 单独断开不误收起流体云;蓝牙关闭及确认全断开后清理。
- 常驻通知关闭、重新开启和锁屏显示设置即时生效,保留用户的通知渠道设置。
- 佩戴检测读取失败后结束等待,旧代回调不覆盖新状态。
- MyDevices 状态广播校验与发送方身份共享。
- 模块状态分别显示检查中、当前版本在线、旧模块需要重载及真实超时。
- ColorOS 16 缺失的可选电量接口不会阻断其他接口或 Android 标准电量回退。
- 反射包装的状态栏权限拒绝不再导致无限重试;同次开机的迟到状态不会覆盖新状态。
验证范围
本轮全量 Debug 单元测试 530 项通过(0 失败 / 0 错误),Debug Lint、Release 构建及
Android 测试代码编译通过。Android 设备测试代码未运行;Lint 仍有既有警告,无错误。
回归覆盖单 Profile 断开、全部断开、未知状态、其他设备、迟到连接 / 查询、HFP-only
恢复、绑定 / IPC 失败保留事件、退避上限、队列边界、应用重启重放及旧代回执。
上一轮候选(并非本 RC)在 OPPO Pad Mini OPD2515_16.0.10.500(CN01) / Android 16 /
HUAWEI FreeClip 上,用户实际确认后台开盒自动显示流体云、关盖后清理、图片正确;
ADB 同时核对连接、通知与服务状态。本轮执行时未连接 Android 设备,未安装或重启
设备;本 RC 的单 Profile 场景、故障注入、手机固件及长时间熄屏待机仍需实机测试。
安装包使用既有固定发布签名,可保留数据覆盖同签名 ColorOS 版。API 101 框架安装后
重载蓝牙与快速设备连接作用域;API 102 框架支持热重载。旧签名版本不可直接覆盖。
RC2 补充修复
- 热重载前保存尚未确认的投递队列,剥离模块自定义 Parcelable 并重设 Bundle ClassLoader,只使用现有基础类型交接电量,旧代关闭后不留旧模块对象。
- 应用在最后状态已确认后被回收时,重放最近连接/电量状态进行恢复,不需要等下一次耳机上报;恢复快照优先保留未确认队首,缓存状态不能挤掉最终断连事件。
- 新代恢复先重新查询两个音频 Profile:已全部断开或蓝牙关闭时,发送基于实际状态的清理事件;任一连接或状态未知时保留状态,旧回执仍不能释放新代连接。
- 会话地址在尚未读到电量时也能交接,避免 HFP-only 连接在升级窗口丢失;保存/关闭窗口内发生的断连由恢复后的真实 Profile 查询补齐。
- 蓝牙关闭时无需等待 Profile 代理就能清理;用户手动强行停止的应用不会由服务绑定绕过,首次使用仍需打开应用一次。
- 新增热重载队列、实际状态覆盖旧快照、未知状态保留及蓝牙关闭的回归用例;跨代 Intent/Parcel 的设备测试代码已编译,本轮未运行。
RC1 是前一候选,请优先使用本 RC2。两者均为测试版,固定签名可覆盖安装;本 RC2 新增逻辑尚未实机验证。
1.9.0.2-rc1
此候选已由 1.9.0.2-rc2 替代,请优先使用 RC2。以下保留 RC1 的原始说明。
HuaweiPods ColorOS 1.9.0.2-rc1
测试版,versionCode 24,应用 ID 仍为 io.github.artifical0.huaweipods.coloros。
本发布为 GitHub Pre-release,不设为正式 Latest,正常稳定版检查更新不会主动推荐此包。
两项主要修复
- 统一 A2DP 媒体与 HFP 通话连接生命周期。生产端根据同一地址的两个音频 Profile
实际状态决定会话,任一仍连接就保留电量轮询与控制会话,两者明确断开才清理;
蓝牙关闭立即清理,未知状态和其他设备断开不误杀当前会话。迟到 Profile 查询由
查询代次及协议会话代次过滤,HFP-only 的启动恢复不再依赖 A2DP 地址列表。 - 唤醒通道保留未完成事件,最多 5 次退避重试(0.25 / 1 / 2 / 4 / 8 秒);绑定及
处理回执分别有 5 秒等待上限。队列上限 16,合并重复电量与连接状态,保留正在
投递的队首及最终断连状态。重试预算耗尽后保留状态,等待新的事件触发恢复。
APPLIED 回执在应用处理结束后发出,断连回执等待实际 Profile 查询完成。
客户端随机代次、传输代次与事件 ID 校验可隔离旧回执;服务端记录已完成事件,
丢失回执后重放不重复执行;热重载前检查工作线程是否可安全关闭。
服务入口继续要求 BLUETOOTH_PRIVILEGED,使用内核调用 UID 查询实际包名,限定四种
耳机生命周期动作。短同步 Binder 入口只校验并排队,蓝牙主线程不做同步 IPC。
应用线程执行通知与图片处理;没有修改系统永久白名单或绕过发送方校验。
同时纳入的上一轮修复
- HFP / A2DP 单独断开不误收起流体云;蓝牙关闭及确认全断开后清理。
- 常驻通知关闭、重新开启和锁屏显示设置即时生效,保留用户的通知渠道设置。
- 佩戴检测读取失败后结束等待,旧代回调不覆盖新状态。
- MyDevices 状态广播校验与发送方身份共享。
- 模块状态分别显示检查中、当前版本在线、旧模块需要重载及真实超时。
- ColorOS 16 缺失的可选电量接口不会阻断其他接口或 Android 标准电量回退。
- 反射包装的状态栏权限拒绝不再导致无限重试;同次开机的迟到状态不会覆盖新状态。
验证范围
本轮全量 Debug 单元测试 523 项通过(0 失败 / 0 错误),Debug Lint、Release 构建及
Android 测试代码编译通过。Android 设备测试代码未运行;Lint 仍有既有警告,无错误。
回归覆盖单 Profile 断开、全部断开、未知状态、其他设备、迟到连接 / 查询、HFP-only
恢复、绑定 / IPC 失败保留事件、退避上限、队列边界、应用重启重放及旧代回执。
上一轮候选(并非本 RC)在 OPPO Pad Mini OPD2515_16.0.10.500(CN01) / Android 16 /
HUAWEI FreeClip 上,用户实际确认后台开盒自动显示流体云、关盖后清理、图片正确;
ADB 同时核对连接、通知与服务状态。本轮执行时未连接 Android 设备,未安装或重启
设备;本 RC 的单 Profile 场景、故障注入、手机固件及长时间熄屏待机仍需实机测试。
安装包使用既有固定发布签名,可保留数据覆盖同签名 ColorOS 版。API 101 框架安装后
重载蓝牙与快速设备连接作用域;API 102 框架支持热重载。旧签名版本不可直接覆盖。
1.9.0-coloros.1-rc3
HuaweiPods ColorOS 1.9.0-coloros.1-rc3(预发布)
rc3 改动
- “我的设备”佩戴检测开关:FreeClip / FreeClip 2、FreeBuds 5 / 5i / 4E / 6i / 7 / 7i、FreeBuds Pro 3 / Pro 5 在 HuaweiPods 入口下方新增“佩戴检测”开关,与低时延开关并排。页面打开时先从耳机读取当前状态(显示“读取中”),切换后以耳机回读结果为准。
- 流体云低时延按钮:支持低时延的型号在流体云 / 通知卡片上新增“开启低时延 / 关闭低时延”按钮,卡片副标题显示当前状态。
- 连接卡片电量:快速设备连接卡片的电量改为“左耳 · 右耳 · 耳机盒”并标记充电中的部件;卡片弹出后 45 秒内电量变化(例如取出耳机)会同步刷新卡片。
rc2 改动
- “我的设备”快捷控制按机型显示:FreeClip / FreeClip 2 等没有主动降噪的型号不显示降噪切换,改为显示低时延开关;降噪耳机仍为关闭 / 降噪 / 通透切换。
- 修复:rc1 中“我的设备”的降噪切换指令缺少机型参数,会被蓝牙进程拒收。
- 低电量提醒:改为 20% 和 10% 两档各提醒一次,文案注明剩余电量;设置中新增“发送测试提醒”。
用于实机测试的预发布版本,不会通过应用内“检查更新”推送。请重点测试:
- “我的设备”中 HuaweiPods 入口下方的佩戴检测开关:能否读到状态、切换后在 HuaweiPods 应用里看到的状态是否一致。
- 流体云 / 通知卡片上的低时延按钮能否切换,按钮文字是否随之变化。
- 打开充电盒弹出连接卡片后取出耳机,卡片上的电量和充电标记是否刷新。
- 低时延开关、低电量提醒(设置 → “发送测试提醒”)、蓝牙设置中的“耳机设置”入口是否仍正常。
反馈请附系统版本、耳机型号、LSPosed(Vector)版本与
HuaweiPods相关日志。
本版同步上游 HuaweiPods 1.9.0(新增 FreeBuds 7),改善“我的设备”中的耳机电量刷新,并从此只适配 ColorOS。
同步上游 1.9.0
- 新增 HUAWEI FreeBuds 7:机型识别与官方图片、左右耳及充电盒电量、通透 / 降噪 / 关闭与三档降噪、空间音频、双击 / 三击 / 捏合 / 滑动设置、佩戴检测、8 种音效与 10 段均衡器、高清音质与低时延。
- FreeBuds 7 协议由上游在 HyperOS 上实机验证,ColorOS 上尚待验证,欢迎反馈。
ColorOS
- “我的设备”电量更灵敏:华为耳机不会主动推送电量变化。耳机连接期间,蓝牙进程每 15 秒在后台刷新一次电量,亮屏时立即刷新,并同步到 ColorOS 系统耳机电量通道;“我的设备”、蓝牙设置和状态栏不再长时间停留在旧电量。
- “我的设备”快捷控制:ColorOS 的三方耳机详情页没有降噪等控件,现在 HuaweiPods 入口下方按机型能力显示快捷控制:降噪耳机为关闭 / 降噪 / 通透切换,FreeClip、FreeClip 2 等支持的型号有低时延与佩戴检测开关;状态随耳机同步。
- 流体云低时延按钮:支持低时延的型号可在流体云 / 通知卡片上一键开关低时延。
- 连接卡片电量:快速设备连接卡片显示左耳 / 右耳 / 耳机盒电量并标记充电,卡片显示期间电量变化会同步刷新。
- 系统蓝牙设置(新增可选作用域
com.oplus.wirelesssettings):设备列表显示左右耳电量,详情页出现“耳机设置”,点击打开 HuaweiPods。只在设置进程内生效,不改动蓝牙栈的设备属性。 - 耳机低电量提醒:已连接的耳机未充电时,电量降到 20% 和 10% 各提醒一次,充电或电量回升后重新布防;设置中可关闭,也可“发送测试提醒”确认通知样式。ColorOS 自带的三方耳机低电量胶囊只对云端白名单厂商开放,因此由模块提醒。
- 佩戴状态:读取耳机主动上报的入耳状态并同步给系统佩戴状态(协议不区分左右耳)。
- 修复:“我的设备”请求刷新耳机状态的广播未共享发送方身份,会被蓝牙进程的安全校验拒收。
- 关于页:开发者改为本分支维护者,上游 HuaweiPods 单独列出;移除上游 QQ 群入口,反馈统一到 GitHub Issues。
只保留 ColorOS 适配
本分支不再包含上游的小米 / HyperOS 集成,HyperOS 用户请使用上游 HuaweiPods。
- 移除
com.android.settings、com.milink.service、com.xiaomi.bluetooth作用域及对应 Hook(系统蓝牙详情页、融合设备中心、小米蓝牙通知)。 - 移除超级岛 / 焦点通知、HyperOS 强提示、伪装耳机型号、融合中心低时延卡片等设置项和 focus-api 依赖。
- 华为 HFP 电量 AT 指令处理(FreeBuds 3 等)保留在系统蓝牙进程中,ColorOS 功能不变。
安装
- 可从 1.8.3-coloros.1 直接覆盖安装;API 102 框架(如 Vector)会自动热重载。
- 作用域:
com.android.bluetooth、com.heytap.mydevices、com.heytap.accessory;可选com.oplus.wirelesssettings、com.huawei.smartaudio。之前勾选的com.android.settings等作用域可以取消。 - 本版删除了部分 Hook,建议更新后在 HuaweiPods 首页重启作用域,或直接重启手机。
验证
- 单元测试、Lint 与 Release 构建通过(CI)。
- ColorOS 17 部分依据 OnePlus PLK110
PLK110_17.0.0.102(CN01)固件静态核对,尚待实机验证。
1.9.0-coloros.1-rc2
HuaweiPods ColorOS 1.9.0-coloros.1-rc2(预发布)
rc2 改动
- “我的设备”快捷控制按机型显示:FreeClip / FreeClip 2 等没有主动降噪的型号不显示降噪切换,改为显示低时延开关;降噪耳机仍为关闭 / 降噪 / 通透切换。
- 修复:rc1 中“我的设备”的降噪切换指令缺少机型参数,会被蓝牙进程拒收。
- 低电量提醒:改为 20% 和 10% 两档各提醒一次,文案注明剩余电量;设置中新增“发送测试提醒”。
用于实机测试的预发布版本,不会通过应用内“检查更新”推送。请重点测试:
- “我的设备”中 HuaweiPods 入口下方的低时延开关(FreeClip 系列)或降噪切换(降噪耳机)能否生效、状态是否同步。
- 设置 → “发送测试提醒”是否出现通知;耳机电量降到 20% / 10% 时是否各提醒一次。
- 蓝牙设置中的耳机电量与“耳机设置”入口、连接弹窗、流体云是否仍正常。
反馈请附系统版本、耳机型号、LSPosed(Vector)版本与
HuaweiPods相关日志。
本版同步上游 HuaweiPods 1.9.0(新增 FreeBuds 7),改善“我的设备”中的耳机电量刷新,并从此只适配 ColorOS。
同步上游 1.9.0
- 新增 HUAWEI FreeBuds 7:机型识别与官方图片、左右耳及充电盒电量、通透 / 降噪 / 关闭与三档降噪、空间音频、双击 / 三击 / 捏合 / 滑动设置、佩戴检测、8 种音效与 10 段均衡器、高清音质与低时延。
- FreeBuds 7 协议由上游在 HyperOS 上实机验证,ColorOS 上尚待验证,欢迎反馈。
ColorOS
- “我的设备”电量更灵敏:华为耳机不会主动推送电量变化。耳机连接期间,蓝牙进程每 15 秒在后台刷新一次电量,亮屏时立即刷新,并同步到 ColorOS 系统耳机电量通道;“我的设备”、蓝牙设置和状态栏不再长时间停留在旧电量。
- “我的设备”快捷控制:ColorOS 的三方耳机详情页没有降噪等控件,现在 HuaweiPods 入口下方按机型能力显示快捷控制:降噪耳机为关闭 / 降噪 / 通透切换,FreeClip、FreeClip 2 等支持低时延的型号有低时延开关;状态随耳机同步。
- 系统蓝牙设置(新增可选作用域
com.oplus.wirelesssettings):设备列表显示左右耳电量,详情页出现“耳机设置”,点击打开 HuaweiPods。只在设置进程内生效,不改动蓝牙栈的设备属性。 - 耳机低电量提醒:已连接的耳机未充电时,电量降到 20% 和 10% 各提醒一次,充电或电量回升后重新布防;设置中可关闭,也可“发送测试提醒”确认通知样式。ColorOS 自带的三方耳机低电量胶囊只对云端白名单厂商开放,因此由模块提醒。
- 佩戴状态:读取耳机主动上报的入耳状态并同步给系统佩戴状态(协议不区分左右耳)。
- 修复:“我的设备”请求刷新耳机状态的广播未共享发送方身份,会被蓝牙进程的安全校验拒收。
- 关于页:开发者改为本分支维护者,上游 HuaweiPods 单独列出;移除上游 QQ 群入口,反馈统一到 GitHub Issues。
只保留 ColorOS 适配
本分支不再包含上游的小米 / HyperOS 集成,HyperOS 用户请使用上游 HuaweiPods。
- 移除
com.android.settings、com.milink.service、com.xiaomi.bluetooth作用域及对应 Hook(系统蓝牙详情页、融合设备中心、小米蓝牙通知)。 - 移除超级岛 / 焦点通知、HyperOS 强提示、伪装耳机型号、融合中心低时延卡片等设置项和 focus-api 依赖。
- 华为 HFP 电量 AT 指令处理(FreeBuds 3 等)保留在系统蓝牙进程中,ColorOS 功能不变。
安装
- 可从 1.8.3-coloros.1 直接覆盖安装;API 102 框架(如 Vector)会自动热重载。
- 作用域:
com.android.bluetooth、com.heytap.mydevices、com.heytap.accessory;可选com.oplus.wirelesssettings、com.huawei.smartaudio。之前勾选的com.android.settings等作用域可以取消。 - 本版删除了部分 Hook,建议更新后在 HuaweiPods 首页重启作用域,或直接重启手机。
验证
- 单元测试、Lint 与 Release 构建通过(CI)。
- ColorOS 17 部分依据 OnePlus PLK110
PLK110_17.0.0.102(CN01)固件静态核对,尚待实机验证。
1.9.0-coloros.1-rc1
HuaweiPods ColorOS 1.9.0-coloros.1-rc1(预发布)
用于实机测试的预发布版本,不会通过应用内“检查更新”推送。请重点测试:
- “我的设备”耳机详情页:HuaweiPods 入口下方是否出现关闭 / 降噪 / 通透切换,点击后耳机是否切换、按钮状态是否随耳机同步;页面打开后电量是否及时刷新。
- 勾选
com.oplus.wirelesssettings并重启作用域后:系统蓝牙设备列表是否显示左右耳电量;设备详情页是否出现“耳机设置”,点击是否打开 HuaweiPods。- 耳机电量降到 20% 以下(未充电)时是否收到一次低电量提醒。
- 摘下 / 戴上耳机后,系统蓝牙设置或“我的设备”中盒电量的显示是否合理。
- FreeBuds 7 与其它型号的基础功能、连接弹窗、流体云是否正常。
反馈请附系统版本、耳机型号、LSPosed(Vector)版本与
HuaweiPods相关日志。
本版同步上游 HuaweiPods 1.9.0(新增 FreeBuds 7),改善“我的设备”中的耳机电量刷新,并从此只适配 ColorOS。
同步上游 1.9.0
- 新增 HUAWEI FreeBuds 7:机型识别与官方图片、左右耳及充电盒电量、通透 / 降噪 / 关闭与三档降噪、空间音频、双击 / 三击 / 捏合 / 滑动设置、佩戴检测、8 种音效与 10 段均衡器、高清音质与低时延。
- FreeBuds 7 协议由上游在 HyperOS 上实机验证,ColorOS 上尚待验证,欢迎反馈。
ColorOS
- “我的设备”电量更灵敏:华为耳机不会主动推送电量变化。耳机连接期间,蓝牙进程每 15 秒在后台刷新一次电量,亮屏时立即刷新,并同步到 ColorOS 系统耳机电量通道;“我的设备”、蓝牙设置和状态栏不再长时间停留在旧电量。
- “我的设备”直接切换降噪:ColorOS 的三方耳机详情页没有降噪控件,现在 HuaweiPods 入口下方新增关闭 / 降噪 / 通透切换(按机型能力显示),通过华为协议执行,状态随耳机回读同步。
- 系统蓝牙设置(新增可选作用域
com.oplus.wirelesssettings):设备列表显示左右耳电量,详情页出现“耳机设置”,点击打开 HuaweiPods。只在设置进程内生效,不改动蓝牙栈的设备属性。 - 耳机低电量提醒:已连接的耳机未充电且电量降到 20% 及以下时提醒一次,充电或电量回升后重新布防;可在设置中关闭。ColorOS 自带的三方耳机低电量胶囊只对云端白名单厂商开放,因此由模块提醒。
- 佩戴状态:读取耳机主动上报的入耳状态并同步给系统佩戴状态(协议不区分左右耳)。
- 修复:“我的设备”请求刷新耳机状态的广播未共享发送方身份,会被蓝牙进程的安全校验拒收。
- 关于页:开发者改为本分支维护者,上游 HuaweiPods 单独列出;移除上游 QQ 群入口,反馈统一到 GitHub Issues。
只保留 ColorOS 适配
本分支不再包含上游的小米 / HyperOS 集成,HyperOS 用户请使用上游 HuaweiPods。
- 移除
com.android.settings、com.milink.service、com.xiaomi.bluetooth作用域及对应 Hook(系统蓝牙详情页、融合设备中心、小米蓝牙通知)。 - 移除超级岛 / 焦点通知、HyperOS 强提示、伪装耳机型号、融合中心低时延卡片等设置项和 focus-api 依赖。
- 华为 HFP 电量 AT 指令处理(FreeBuds 3 等)保留在系统蓝牙进程中,ColorOS 功能不变。
安装
- 可从 1.8.3-coloros.1 直接覆盖安装;API 102 框架(如 Vector)会自动热重载。
- 作用域:
com.android.bluetooth、com.heytap.mydevices、com.heytap.accessory;可选com.oplus.wirelesssettings、com.huawei.smartaudio。之前勾选的com.android.settings等作用域可以取消。 - 本版删除了部分 Hook,建议更新后在 HuaweiPods 首页重启作用域,或直接重启手机。
验证
- 单元测试、Lint 与 Release 构建通过(CI)。
- ColorOS 17 部分依据 OnePlus PLK110
PLK110_17.0.0.102(CN01)固件静态核对,尚待实机验证。
1.8.3-coloros.1
HuaweiPods ColorOS 1.8.3-coloros.1
本版同步上游 HuaweiPods 1.8.3,并完成 ColorOS 17 适配:华为耳机电量接入 ColorOS 系统耳机电量通道,快速设备连接弹窗覆盖全部已支持型号。
同步上游 1.7.0~1.8.3
- 新增 HUAWEI FreeBuds SE 4 ANC:通透 / 降噪 / 关闭与状态回读、三档降噪、防风噪、4 种官方音效与 10 段自定义均衡器。
- 修复模块弹窗内低时延设置写入成功后未保存;写入失败时回到已保存的设置。
- 包含 FreeBuds Pro 5、FreeClip 2、Eyewear 3 等协议与界面更新,以及新版首次引导、关于页和设置页入口。
ColorOS 17
- 系统耳机电量:左右耳与充电盒电量写入 ColorOS 自有的耳机电量通道,并同步 Android 标准电量;状态栏耳机电量、蓝牙设置和“我的设备”等系统界面可以直接显示。
- 快速设备连接弹窗:从仅 FreeClip 扩展到所有已支持型号;没有缓存官方图时使用机型内置图。适配 ColorOS 17 快速设备连接 17.6.x 中改名的卡片数据与关闭方法。
- 我的设备:适配 ColorOS 17(17.25.10)改为 Preference 页面的新版详情页,“蓝牙设置”入口改为 HuaweiPods 电量与设置。ColorOS 16.1 原有入口保持不变。
- 蓝牙进程 Hook、流体云实时通知和系统设置入口已对照 ColorOS 17 固件核对,保持兼容;ColorOS 上不再反复尝试无权限的状态栏图标写入。
- 修复独立包名下耳机图片 Provider 地址仍指向原版 HuaweiPods,导致通知与流体云只能显示默认图的问题。
- 开盖弹窗:耳机保持连接时打开充电盒,再次弹出快速设备连接卡片(同一耳机 15 秒内最多一次,息屏或锁屏时不弹)。
- 断开后流体云不消失:流体云服务轮询耳机的 A2DP / HFP 连接,确认断开后收起,不再只依赖可能被系统延迟的断开广播。
- FreeClip 2 显示一代耳机(#1):快速设备连接弹窗与流体云的图片、标题按识别到的型号显示。
验证
- 单元测试、Lint 与 Release 构建通过(CI);经 1.8.3-coloros.1-rc1 / rc2 预发布测试。
- ColorOS 17 部分依据 OnePlus PLK110
PLK110_17.0.0.102(CN01)(Android 17)固件静态核对,尚待实机验证。欢迎反馈系统版本、耳机型号与 LSPosed 日志。
安装
- 正式版改用上游的 LSPosed API 102 入口:API 102 框架(如 Vector)上覆盖安装后自动热重载;只支持 API 101 的框架仍可加载,但没有热重载。
- 可从 1.8.1-coloros.2 / 1.8.1-coloros.3 及 rc 预发布版直接覆盖安装。本次从 API 101 入口切换到 API 102 入口,首次更新后仍需重启蓝牙、我的设备与快速设备连接作用域,或直接重启手机;之后的更新可由 API 102 框架热重载。
- ColorOS 作用域:
com.android.bluetooth、com.heytap.mydevices、com.heytap.accessory;可选com.android.settings、com.huawei.smartaudio。
1.8.3-coloros.1-rc2
HuaweiPods ColorOS 1.8.3-coloros.1-rc2(预发布)
rc2 修复
- 开盖弹窗:耳机保持连接时打开充电盒,再次弹出快速设备连接卡片(以充电盒电量重新上报判定开盖,同一耳机 15 秒内最多一次;息屏、锁屏时不弹)。
- 断开后流体云不消失:流体云前台服务每 2 秒检查当前耳机的 A2DP / HFP 连接,连续两次确认断开即收起,不再只依赖可能被系统延迟或丢弃的断开广播;断开后到达的旧电量也不会再次拉起流体云。
用于实机测试的预发布版本,不会通过应用内“检查更新”推送。请重点测试:状态栏 / 蓝牙设置 / 我的设备是否显示耳机电量;非 FreeClip 型号是否弹出快速设备连接卡片且图片正确、不被立即收起;我的设备中的 HuaweiPods 入口;流体云与断开清除;API 102 框架下之后的覆盖安装是否无需重启作用域。反馈请附系统版本、耳机型号、LSPosed(Vector)版本与
HuaweiPods相关日志。
本版同步上游 HuaweiPods 1.8.3,并完成 ColorOS 17 适配:华为耳机电量接入 ColorOS 系统耳机电量通道,快速设备连接弹窗覆盖全部已支持型号。
同步上游 1.7.0~1.8.3
- 新增 HUAWEI FreeBuds SE 4 ANC:通透 / 降噪 / 关闭与状态回读、三档降噪、防风噪、4 种官方音效与 10 段自定义均衡器。
- 修复模块弹窗内低时延设置写入成功后未保存;写入失败时回到已保存的设置。
- 包含 FreeBuds Pro 5、FreeClip 2、Eyewear 3 等协议与界面更新,以及新版首次引导、关于页和设置页入口。
ColorOS 17
- 系统耳机电量:左右耳与充电盒电量写入 ColorOS 自有的耳机电量通道,并同步 Android 标准电量;状态栏耳机电量、蓝牙设置和“我的设备”等系统界面可以直接显示。
- 快速设备连接弹窗:从仅 FreeClip 扩展到所有已支持型号;没有缓存官方图时使用机型内置图。适配 ColorOS 17 快速设备连接 17.6.x 中改名的卡片数据与关闭方法。
- 我的设备:适配 ColorOS 17(17.25.10)改为 Preference 页面的新版详情页,“蓝牙设置”入口改为 HuaweiPods 电量与设置。ColorOS 16.1 原有入口保持不变。
- 蓝牙进程 Hook、流体云实时通知和系统设置入口已对照 ColorOS 17 固件核对,保持兼容;ColorOS 上不再反复尝试无权限的状态栏图标写入。
- 修复独立包名下耳机图片 Provider 地址仍指向原版 HuaweiPods,导致通知与流体云只能显示默认图的问题。
验证
- 536 项单元测试与 Lint(0 错误)通过;Release 构建由 CI 完成。
- ColorOS 17 部分依据 OnePlus PLK110
PLK110_17.0.0.102(CN01)(Android 17)固件静态核对,尚待实机验证。欢迎反馈系统版本、耳机型号与 LSPosed 日志。
安装
- 正式版改用上游的 LSPosed API 102 入口:API 102 框架(如 Vector)上覆盖安装后自动热重载;只支持 API 101 的框架仍可加载,但没有热重载。
- 可从 1.8.1-coloros.2 / 1.8.1-coloros.3 直接覆盖安装。本次从 API 101 入口切换到 API 102 入口,首次更新后仍需重启蓝牙、我的设备与快速设备连接作用域,或直接重启手机;之后的更新可由 API 102 框架热重载。
- ColorOS 作用域:
com.android.bluetooth、com.heytap.mydevices、com.heytap.accessory;可选com.android.settings、com.huawei.smartaudio。