Repository navigation
Releases: ByteJuno/fcmfix-coloros
Release list
FCMFix ColorOS (13.2)
FCMFix ColorOS 13.2
正式版。包名与签名不变,versionCode 83,可从 13.0 或任一 13.1 测试版直接覆盖安装,安装后请重启手机。
LSPosed 作用域请同时勾选“系统框架”和“电池(com.oplus.battery)”。
新界面
应用界面用 Jetpack Compose(Material 3)重写。底部分为三页,右上角的齿轮进入设置:
- 状态:原来的自查升为首页。顶部是结论,“一切正常”或“有 N 项需要处理”及第一项问题;下面逐项检查模块、作用域、
系统框架和电池的 Hook、配置同步、FCM 连接,以及 GMS 的联网策略、待机分组和 Doze 白名单。“复制结果”和“导出完整报告”在页面底部; - 应用:自动放行开关、搜索,以及“全部 / 包含 FCM / 已放行 / 需要注意”筛选。通知被关闭、受限待机分组等问题直接标在列表中,
不用再到自查页里找。点开应用可以看到通知状态、开机以来的推送次数和进程状态,跳转到系统设置,或导出附带它的日志的报告。
放行改用每行右侧的开关,点击应用本身不再切换放行; - 时间线:FCM 连接与断线、网络切换、亮灭屏和深度 Doze、推送,按日期分组,可以按类型筛选;
- 设置:原来在右上角菜单中的“阻止应用停止时自动清除通知”“允许唤醒被冰箱冻结的应用”,以及“放行所有包含 FCM 的应用”
(原“全选包含 FCM 的应用”,现在会先确认)。
界面跟随系统深色模式,Android 12 起跟随壁纸取色,各页都可以下拉刷新。设置和放行列表沿用原来的配置,升级后不用重新勾选。
安装包从 7.5 MB 降到 2.8 MB
此前的 Release 没有压缩代码:APK 7.5 MB,其中 7 MB 是代码,LSPosed 会把它整个载入系统框架和电池进程。
现在用 R8 去掉依赖库中用不到的部分。Hook 部分的代码保持原样,不改名、不删除,只压缩界面和依赖库。
包含的 13.1 测试版改动
13.1-rc1 ~ rc3 没有发布正式版,这些改动都包含在 13.2 中:
- ColorOS 16 适配(#4、
#5、#7):- 深度睡眠联网白名单改在 ColorOS 16 和 17 共用的
OAppNetControlManager.networkDisableWhiteList中补入 GMS; - 深度睡眠恢复后强制停止 GMS 的拦截同时处理 ColorOS 16 的
requestSceneAction; - 固件中本来就没有的限制(弱信号联网限制、只拦截 Activity 的可疑组件名单)显示“不适用”,不再算作失配。
只有识别出已核对的固件结构时才这样显示,结构不同时仍报告失配;
- 深度睡眠联网白名单改在 ColorOS 16 和 17 共用的
- FCM 连接识别“假连接”:连接还在,但发出的数据连续重传没有回应,或累计 30 分钟(不计休眠时间)没有收到任何数据时,
显示“TCP 连接还在,但……”,时间线记一条“FCM 无响应”。常见原因是本机代理的 TUN 在切换网络后断开
(#6),遇到时开关一次 Wi‑Fi 或飞行模式即可恢复; - 认出走 443 端口的 FCM 连接:5228–5230 端口被封时 GMS 会改连
mtalk.google.com的 443 端口,以前会被误报为断线; - FCM 连接后面注明所在网络(Wi‑Fi / 移动数据),不在当前默认网络上时标出;
- 自动放行的应用关闭了通知,只作提示,不再算作需要处理的问题;
- 导出报告:新增“GMS 的 FCM 连接”一节;修正在终端中用
su运行并写入/sdcard时pm/settings/am全部报
“Failed transaction”。
逐项说明见 13.1-rc1、
13.1-rc2、
13.1-rc3。
说明
- 新界面在模拟器和截图测试中逐页验证过;如果在你的机型上显示不正常,请截图反馈。
- 自查中的“复制结果”格式与 13.0 相同,反馈问题时照常粘贴即可。
FCMFix ColorOS (13.1-rc3)
FCMFix ColorOS 13.1-rc3
测试版。包名与签名不变,versionCode 82,可从 13.0、13.1-rc1 或 13.1-rc2 直接覆盖安装,安装后请重启手机。
LSPosed 作用域请同时勾选“系统框架”和“电池(com.oplus.battery)”。
ColorOS 16:可疑组件拦截与弱信号白名单显示“不适用”
在一加 13(PJZ110_16.0.3.502)上,系统框架有 3 项 Hook 显示失配(#5)。
对照该固件的 oplus-services.jar 后确认这些限制在这一版固件中并不存在:
- 可疑组件拦截广播 / 服务:没有
MaliciousRestrictPolicy,可疑组件名单只在OplusAppStartupManager中用于拦截 Activity 启动,
不拦截广播和服务,不影响 FCM 送达; - 弱信号白名单:没有
OplusHansConnectivityManager,Hans 中也没有弱信号场景。
现在只有识别出上述结构时才显示“不适用”;结构不同(例如多出其他可疑组件检查、方法签名改变、相关类整个缺失)时仍显示失配,
不会把真正没挂上的 Hook 当成正常。
包含的 13.1-rc2 改动
FCM 连接识别“假连接”(连接还在但没有收发,时间线记“FCM 无响应”)、认出走 443 端口的 FCM 连接、标出连接所在网络;
导出报告新增“GMS 的 FCM 连接”一节,修正终端中运行时 pm / settings / am 报“Failed transaction”。
详见 13.1-rc2。
测试重点
- ColorOS 16(尤其一加 13
PJZ110_16.0.3.502):自查中系统框架没有失配,可疑组件拦截广播、服务和弱信号白名单 3 项显示“不适用”; - ColorOS 17:自查结果与 13.1-rc2 一致,这 3 项照常生效;
- 推送收发与 13.1-rc2 一致。
FCMFix ColorOS (13.1-rc2)
FCMFix ColorOS 13.1-rc2
测试版。包名与签名不变,versionCode 81,可从 13.0 或 13.1-rc1 直接覆盖安装,安装后请重启手机。
LSPosed 作用域请同时勾选“系统框架”和“电池(com.oplus.battery)”。
这一版让自查的“FCM 连接”更可信:以前只要内核里有一条到 5228 端口的连接就算“已连接”,
实际上 GMS 可能一直卡在“Connecting”(#6),
也可能改走 443 端口却被当成断线(#5)。
FCM 连接:识别“假连接”
系统框架现在同时读取连接的收发情况。发出的数据连续重传 3 次以上没有回应,或者累计 30 分钟(不计休眠时间)
没有收到任何数据(FCM 心跳最长约 28 分钟一次),自查显示“TCP 连接还在,但……”,时间线记一条红色的“FCM 无响应”,
恢复收发后记“FCM 恢复连接(无响应约 X)”。
常见原因是本机代理(Clash / Surfing 等的 TUN):切换网络的那几秒里 GMS 的连接进了 TUN,随后代理停止或上游断开,
本机这一端却没有被关闭,GMS 就一直守着这条不通的连接。遇到时开关一次 Wi‑Fi 或飞行模式即可恢复;
根治需要让 GMS 绕过 TUN,或在代理中开启出站 TCP keepalive。
FCM 连接:443 端口
5228–5230 端口被封时 GMS 会改连 mtalk.google.com 的 443 端口。现在这种连接也显示为已连接。
GMS 平时还有很多 443 连接,因此只认远端是开机以来在 5228–5230 上见过的地址,或 mtalk.google.com 当前解析结果的连接。
FCM 连接:标出所在网络
连接后面注明所在网络,例如“已连接 1.2.3.4:5228(Wi‑Fi)”;不在当前默认网络上时注明“不是当前默认网络”。
导出报告
- 新增“GMS 的 FCM 连接”一节:GMS 到 5228–5230 / 443 的每条连接的未确认数据、重传、多久没收发(
ss),
默认网络与各网络的 netId(可与 FCM Diagnostics 的GcmNetwork{…}对照),GMS 的后台联网限制,本机 TUN 接口,
以及 GMS 自己的连接日志; - 修正:在终端中用
su -c sh collect-report.sh并写入/sdcard时,pm/settings/am全部报
“Failed transaction”,报告里 GMS 显示“未安装”。
包含的 13.1-rc1 改动
ColorOS 16 适配(深度睡眠白名单、深度睡眠恢复后强制停止 GMS、弱信号白名单显示“不适用”),
自动放行的应用关闭通知不再算作问题。
测试重点
- 自查中“FCM 连接”正常时显示已连接和所在网络,与 FCM Diagnostics 一致;
- 开着本机代理来回切换 Wi‑Fi / 移动数据后,如果 FCM Diagnostics 卡在“Connecting”,自查在累计约 30 分钟后显示“无响应”;
- 5228 被封、GMS 走 443 的网络下,自查显示已连接
…:443; - 有 Root 时导出完整报告,“GMS 的 FCM 连接”一节有 GMS uid、连接明细和网络列表,联网策略不再显示“未安装”;
- 推送收发与 13.1-rc1 一致,没有异常耗电。
FCMFix ColorOS (13.1-rc1)
FCMFix ColorOS 13.1-rc1
测试版。包名与签名不变,versionCode 80,可从 13.0 直接覆盖安装,安装后请重启手机。
LSPosed 作用域请同时勾选“系统框架”和“电池(com.oplus.battery)”。
这一版主要适配 ColorOS 16:13.0 在 ColorOS 16 上自查会显示 3 项 Hook 失配
(#4),它们原本是按 ColorOS 17 固件写的。
已对照一加 15 国行 PLK110_16.0.10.500(CN01) 全量固件调整。
ColorOS 16 适配
- 电池:深度睡眠联网白名单:ColorOS 16 的电池组件没有 ColorOS 17 的名单构造方法。现在改为在两代系统共用的
OAppNetControlManager.networkDisableWhiteList下发名单前补入 GMS,ColorOS 17 上同样生效,也不再受名单构造方法被内联的影响; - 系统框架:深度睡眠恢复后强制停止 GMS:ColorOS 16 的入口是
requestSceneAction,现在与 ColorOS 17 的
requestSceneActionSync一起处理,只跳过“深度睡眠恢复”对 GMS 的强制停止; - 系统框架:弱信号联网白名单:ColorOS 16 没有这项限制。识别到已核对的 ColorOS 16 实现时显示“不适用”,不再算作失配;
其他未知的固件结构仍报告失配。
自查
- Hook 状态新增“不适用”:显示为“N 项生效,M 项不适用”,不计入问题;
- 自动放行的应用如果关闭了整个通知,改为提示,不再算作“需要处理”的问题(手动勾选的应用不变);
- 顶部结论中“N 项失配”后面不再多出冒号。
测试重点
- ColorOS 16:重启后打开自查,系统框架和电池的 Hook 都没有“失配”,弱信号一项显示“不适用”;
- ColorOS 17:系统框架和电池的 Hook 数量与 13.0 一致,没有失配和“不适用”;
- 开启“睡眠待机优化”后熄屏过夜,第二天自查的时间线中 FCM 没有长时间断线,推送正常;
- 推送收发与 13.0 一致,没有异常耗电。
FCMFix ColorOS (13.0)
FCMFix ColorOS 13.0
正式版。包名与签名不变,versionCode 79,可从 53-coloros-12.1 或任一测试版直接覆盖安装,安装后请重启手机。
LSPosed 作用域请同时勾选“系统框架”和“电池(com.oplus.battery)”。
新的版本号
从这一版起使用独立的版本号:正式版 13.0,测试版 13.0-rcN,GitHub tag 为 v13.0。此前的版本号形如 53-coloros-12.1,
其中 53 是上游 fcmfix 的版本。模块仍基于上游 fcmfix 53,旧版本的 tag 和下载不受影响。
修正
- 电池作用域中的 Hook 此前从未生效。 电池组件运行在与常驻 Athena 共用的
com.oplus.athena进程中,开机时由 Athena 先启动,
以前的版本因此从未在电池组件中挂上 Hook,推送正常靠的是系统框架中的兜底。现在电池组件中的 4 项 Hook 都会生效:
不再对 GMS、Play 商店等写入“禁止全部联网”,清除 Google 受限广播中的受限标记,在电池组件声明IgnoreGmsUserSet时忽略旧的
“用户改过 Google 联网”标记,深度睡眠断网白名单中加入 GMS。 - 重启后的第一分钟不再漏推送。 以前首次解锁后要再等 1 分钟才开始放行 FCM,重启期间积压的消息若在这一分钟内送达已划掉后台的应用,
会被系统丢弃。现在解锁并读取配置后立即生效。
新功能:自动放行包含 FCM 的应用
应用列表顶部新增开关,默认关闭。开启后所有包含 FCM 接收组件的应用都会被放行,之后新安装的应用也会自动放行;
在列表中取消勾选某个应用即可排除它。手动勾选的应用照常放行。系统包(UID 小于 10000)不会被自动放行。
新功能:自查与导出报告
点击顶部的状态卡片,或菜单中的“自查与导出报告”进入,不需要 Root。页面分为三页:
- 概览:模块是否激活、作用域、系统框架和电池的 Hook 是否生效;GMS 的 ColorOS 联网策略、待机分组、Doze 白名单;
FCM 连接(系统框架每分钟检测一次 GMS 与 FCM 服务器之间的 TCP 连接),显示连接持续时间、开机以来重连和断线的次数; - 应用:每个放行应用的通知开关、被关闭的通知类别、待机分组、进程状态,以及开机以来最近一次收到推送的时间和次数。
收到了推送却没有通知,问题通常在应用这一侧; - 时间线:FCM 断线、重连、恢复,熄屏亮屏,深度 Doze,网络切换(含 VPN)和每次推送,按日期分组。
推送没来时打开这里,就能看出当时是否刚熄屏、进入 Doze 或切换了网络。
“重连”指旧连接被新连接取代,不影响推送;“断线”指某次检测时一条连接也没有,恢复时会记录断线时长。
FCM 一直连不上通常是网络、DNS 或代理的问题,FCMFix 无法解决。
结果可一键复制。有 Root 时“导出完整报告”会运行内置的 collect-report.sh,可附带某个应用的通知状态和系统日志,
报告末尾还会附上自查结果和模块自己保留的最近日志(系统框架和电池进程各 1000 条),不会被系统日志冲掉。
界面
- 顶部的状态卡片:正常时显示“一切正常”和各作用域生效的 Hook 数,有问题时显示第一项问题;缺少作用域时点击即可向 LSPosed 申请;
- 应用列表在后台加载,已放行的应用显示最近一次收到推送的时间;
- 支持深色模式;新的蓝色矢量图标,支持单色主题图标。
其他
- 移除不会在 ColorOS 上生效的 MIUI / HyperOS 适配、需要 GMS 作用域的旧重连功能和“目标无响应时代发提示通知”选项;
- 系统框架中的 ColorOS Hook 按功能拆分,每组 Hook 一项都没挂上时记为失配,不会被当成生效;
collect-report.sh新增 Doze 白名单、睡眠待机优化记录、17.0.0.102 起的防火墙子链,可附带一个或多个应用包名;- 新增
ACCESS_NETWORK_STATE(查看网络连接,安装时自动授予),用于时间线记录网络切换。APK 仍不申请联网权限; - 更新界面依赖库和构建工具。
测试版的逐项说明见 13.0-rc5、
13.0-rc6、
13.0-rc7 和更早的
53-coloros-13-rc1 ~ rc4。
说明
- 在 ColorOS 17 国行上,流量管理的联网策略里 Google 应用可能仍显示为禁止联网,但实际不会断网;以自查中的 FCM 连接为准。
- FCMFix 不能让 GMS 连上 FCM 服务器,DNS 污染或端口封锁需要自行解决。判断方法见
如何提交问题与日志。
FCMFix ColorOS (13.0-rc7)
FCMFix ColorOS 13.0-rc7
测试版。包名与签名不变,versionCode 78,可直接覆盖安装,安装后请重启手机。
LSPosed 作用域请同时勾选“系统框架”和“电池(com.oplus.battery)”。
这一版根据 rc6 的实测报告改进自查:重新设计页面,区分“重连”和真正的“断线”,时间线和模块日志保留得更久。
自查页面重新设计
- 顶部固定显示结论:一切正常时显示 FCM 连接状态和持续时间,有问题时显示需要处理的项数和第一项问题;
- 内容分为三页,不再挤在一页:
- 概览:模块、Google 服务、系统信息,按分组放在卡片里;
- 应用:放行的应用带图标,“需要注意”和“正常”分开,正常的应用只占一行(最近推送、次数、运行状态);
- 时间线:按日期分组,每条事件一行,FCM 断线红色、重连黄色、恢复绿色、网络切换蓝色;可关闭“显示推送记录”只看连接和系统事件。
FCM 连接:区分重连和断线
rc6 只要换了一条连接就记一次“断开”,网络切换或亮灭屏时 GMS 正常换连接也会算进去,次数看着吓人。现在分为:
- 重连:两次采样之间旧连接被新连接取代,中间不影响推送;
- 断线:某次采样时一条连接也没有,恢复时记录“恢复连接”和断线时长(按采样估计)。
自查显示“开机以来重连 N 次,断线 M 次(最长约 X)”;当前没有连接时显示已经断线多久。
保留更久
- 时间线:连接与系统事件最多 300 条,推送记录单独最多 150 条,频繁的聊天推送不会再把夜间的连接记录挤掉;
- 模块日志:系统框架和电池进程各保留最近 1000 条(原 400 条),导出时压缩传输;
- 复制结果和导出报告中的时间线每条一行(rc6 中最新的 40 条被连成了一行)。
其他
- 自动放行不再包含系统包(UID 小于 10000,如“Android 系统”),主界面也不再给它标“包含 FCM”;自查的应用列表中不再显示系统包。
以前手动勾选过的仍保持勾选,可在列表中取消,放行与否都不影响推送。
包含的 13.0-rc5 / rc6 改动
自动放行包含 FCM 的应用、自查与导出报告、状态卡片、列表显示最近推送、深色模式、FCM 连接检测、事件时间线、模块日志随报告导出。
测试重点
- 自查页三页切换正常,浅色和深色模式下显示清楚;
- 概览顶部显示 FCM 连接状态;应用页图标、分组和点击打开应用设置正常;
- 切换 Wi‑Fi / 移动数据后,时间线记录“FCM 重连”而不是断线;关闭网络一两分钟再打开,记录“FCM 断线”和“FCM 恢复连接(断线约 X)”;
- 时间线关闭“显示推送记录”后只剩连接和系统事件;
- 有 Root 时导出完整报告,末尾的时间线每条一行,两段模块日志完整;
- 推送收发与 rc6 一致,没有异常耗电。
FCMFix ColorOS (13.0-rc6)
FCMFix ColorOS 13.0-rc6
测试版。包名与签名不变,versionCode 77,可直接覆盖安装,安装后请重启手机。
LSPosed 作用域请同时勾选“系统框架”和“电池(com.oplus.battery)”。
这一版专门为排查“FCM 显示已连接却收不到推送、过一会儿又好了”这类时好时坏的问题而改进自查。
自查:FCM 连接检测
系统框架每分钟查看一次 GMS 与 FCM 服务器(5228–5230 端口)之间的 TCP 连接,自查页新增“FCM 连接(系统框架检测)”:
- 已连接时显示服务器地址、这条连接已持续多久、开机以来断开过几次;
- 没有连接或一直卡在“正在连接”时会提示,这通常是网络或代理的问题。
FCM Diagnostics 里的连接时长有时一直显示 0,这一项可以作为准确的参考。检测不需要 Root,使用不会唤醒手机的定时器,熄屏休眠时不额外耗电。
自查:最近事件时间线
自查页末尾新增“最近事件”,按时间记录开机以来的:
- FCM 连接建立、断开(以及断开前最后一次确认在线的时间);
- 熄屏、亮屏,进入和退出深度 Doze;
- 网络切换(Wi‑Fi、移动数据、VPN、断网);
- 每次收到推送。
推送没来时打开自查,就能看出断开前后是否刚熄屏、进入 Doze 或切换了网络。
导出完整报告
- 报告末尾附上自查结果(含时间线),以及系统框架和电池进程中模块自己保留的最近 400 条日志。有些机型的系统日志只能保留几分钟,
开机时的 Hook 结果和夜间的记录以前总是被冲掉,现在不受影响; - 内置脚本更新:修正联网策略误报“查询失败”、模块版本下多出的
Broken pipe;列出 17.0.0.102 起防火墙规则所在的
oplus_fw_INPUT/oplus_fw_OUTPUT/fw_OUTPUT_oplus_dns子链;日志一栏只保留模块日志,不再被系统界面日志淹没。
权限
新增 ACCESS_NETWORK_STATE(查看网络连接,安装时自动授予,不能联网),用于时间线记录网络切换。APK 仍不申请联网权限。
包含的 13.0-rc5 改动
自动放行包含 FCM 的应用、自查与导出报告、状态卡片、列表显示最近推送、深色模式、新版本号格式。
测试重点
- 自查中“FCM 连接”显示已连接和持续时间,与 FCM Diagnostics 的连接状态一致;
- 熄屏放置一段时间后打开自查,“最近事件”里能看到熄屏、深度 Doze、网络变化,收到推送时有“推送 → 包名”;
- 切换 Wi‑Fi / 移动数据、开关代理,时间线记录网络变化,FCM 连接如有重建会记录断开和重新连接;
- 有 Root 时导出完整报告,末尾有“自查结果”和两段“FCMFix 模块日志”;
- 推送收发与 rc5 一致,没有异常耗电。
FCMFix ColorOS (13.0-rc5)
FCMFix ColorOS 13.0-rc5
测试版。包名与签名不变,versionCode 76,可直接覆盖安装,安装后请重启手机。
LSPosed 作用域请同时勾选“系统框架”和“电池(com.oplus.battery)”。
新的版本号
从这一版起使用独立的版本号:13.0-rc5,正式版为 13.0,GitHub tag 为 v13.0-rc5。此前的版本号形如 53-coloros-12.1,
其中 53 是上游 fcmfix 的版本。模块仍基于上游 fcmfix 53,旧版本的 tag 和下载不受影响。
新功能:自动放行包含 FCM 的应用
应用列表顶部新增开关,默认关闭。开启后:
- 所有包含 FCM 接收组件的应用都会被放行,之后新安装的应用也会自动放行,不用再回来勾选;
- 在列表中取消勾选某个应用,它就会被排除,不再被自动放行;
- 手动勾选的应用(包括不含 FCM 组件的)照常放行;关闭开关后恢复为只放行手动勾选的应用;
- 开启时菜单中的“全选包含 FCM 的应用”会隐藏;筛选项“已允许”改名为“已放行”。
新功能:自查与导出报告
点击顶部的状态卡片,或菜单中的“自查与导出报告”进入。不需要 Root 的部分:
- 模块是否激活、作用域、系统框架和电池的 Hook 是否生效;
- 系统框架读到的配置是否与界面一致;
- GMS 的 ColorOS 联网策略、待机分组、Doze 白名单;
- 每个放行应用的通知开关、被关闭的通知类别、待机分组、进程状态,以及开机以来最近一次收到推送的时间和次数。
收到了推送却没有通知,问题通常在应用这一侧;点击应用可打开它的系统设置。
结果可一键复制,用于反馈。有 Root 时,“导出完整报告”会运行内置的 collect-report.sh,可选附带某个应用的通知状态和相关系统日志,
生成后分享或保存。APK 仍不申请联网权限。
界面
- 顶部原来的“模块状态”和“Hook 状态”两行合并为一张状态卡片:正常时显示“一切正常”和 LSPosed 版本、各作用域生效的 Hook 数;
有问题时显示“有 N 项需要处理”和第一项问题,点击进入自查。还没有放行任何应用时也会在这里提示。
每次回到 FCMFix 都会重新检查; - 应用列表中,已放行的应用显示最近一次收到推送的时间,例如“5分钟前收到推送”;
- 支持深色模式,跟随系统设置;
- 缺少作用域时,在自查页点击“作用域”一项向 LSPosed 申请。
其他
collect-report.sh可附带一个或多个应用包名,输出该应用的通知设置、进程状态和相关系统日志;- 菜单改用资源 ID 实现,移除了早已不用的“隐藏启动器图标”残留代码;CI 在每次提交时检查发布说明是否存在;
- 文档:更正开发说明中关于 53-coloros-11 深度睡眠 Hook 失效原因的错误描述(真实原因是电池作用域的 Hook 从未加载,已在 rc3 修复)。
包含的 53-coloros-13-rc4 改动
- 重启后的第一分钟不再漏推送;新图标;应用列表后台加载;点击模块状态申请缺少的作用域。
- 电池作用域中的 Hook 真正生效(rc3)。
测试重点
- 状态卡片:正常时显示“一切正常”;临时取消电池作用域并重启,应显示问题,点击进入自查后可申请添加;
- 深色模式:切换系统深色模式后,主界面、自查页、菜单和对话框的文字都清晰可读;
- 自查页:各项显示正常;ColorOS 16 上如有“无法查询”或“未知”,请截图反馈;
- 给一个放行的应用发消息后回到 FCMFix,列表中该应用显示刚刚收到推送,自查中次数增加;
- 开启自动放行:包含 FCM 的应用全部变为勾选;取消勾选一个后杀掉它,给它发消息,不应再被唤醒;新安装一个带 FCM 的应用,无需勾选即可收到推送;
- 有 Root 时导出完整报告,选择一个应用,分享和保存都能正常完成;
- 推送收发与 rc4 一致,尤其是熄屏过夜后。
FCMFix ColorOS (53-coloros-13-rc4)
FCMFix ColorOS 53-coloros-13-rc4
测试版。包名与签名不变,versionCode 75,可直接覆盖安装,安装后请重启手机。
LSPosed 作用域请同时勾选“系统框架”和“电池(com.oplus.battery)”。
修正:重启后的第一分钟不再漏推送
以前系统框架在首次解锁后要再等 1 分钟才开始放行 FCM。手机重启期间积压的消息,往往在 GMS 重新连上后的这一分钟内集中送达;
目标应用如果已被划掉后台(处于停止状态),这些消息就会被系统丢弃。现在解锁并读取配置后立即生效。
新图标
启动器图标改为 ColorOS 风格的蓝色渐变矢量图标,铃铛与对勾都在自适应图标的安全区内,圆形和圆角方形桌面下都不会贴边;
单色主题图标使用同一图形。安装包同时去掉了用不到的旧版 PNG 图标。
界面
- 应用列表改为在后台加载,打开 FCMFix 时不再卡顿;读取完成前显示加载进度;
- 缺少作用域时,点击模块状态即可向 LSPosed 申请添加,在弹出的通知中确认后重启手机;
- 移除早已停用的“目标无响应时代发提示通知”选项及相关代码(README 中的说明一并删除)。
包含的 53-coloros-13-rc3 改动
- 电池作用域中的 Hook 从此版本起真正生效(电池组件运行在与 Athena 共用的
com.oplus.athena进程中,以前的版本因此从未加载)。 - Hook 状态、模块 API 101 显示、MIUI / HyperOS 代码移除、
collect-report.sh新增 Doze 白名单和睡眠待机优化两栏等 rc1 / rc2 改动。
测试重点
- 新图标在桌面、最近任务、LSPosed 模块列表和单色主题图标下显示正常;
- 打开 FCMFix 时界面立即出现,应用列表加载完成后已允许的应用排在最前;
- 重启测试:关机,让别人给一个已划掉后台的应用发消息,开机解锁后这条消息能及时收到;
- Hook 状态显示“电池:4 项生效”,电池设置、耗电统计等界面正常,没有异常耗电;
- 推送收发与 53-coloros-12.1 一致,尤其是熄屏过夜后。
FCMFix ColorOS (53-coloros-13-rc3)
FCMFix ColorOS 53-coloros-13-rc3
测试版。包名与签名不变,versionCode 74,可直接覆盖安装,安装后请重启手机。
LSPosed 作用域请同时勾选“系统框架”和“电池(com.oplus.battery)”。
修正:电池作用域中的 Hook 此前从未生效
电池组件的主进程是 com.oplus.athena,与常驻的 Athena 共用,开机时由 Athena 先启动。
以前的版本只在电池组件是进程中第一个载入的包时才挂 Hook,所以勾选电池作用域后实际什么都没有挂上。
53-coloros-13-rc2 新增的 Hook 状态因此一直显示“电池:未加载”。
此前推送正常,靠的是系统框架中的兜底:丢弃对 Google 核心包的禁网防火墙规则,
以及深度睡眠断网时把 GMS 加入白名单。本版起电池组件中的 4 项 Hook 也会生效:
- 电池组件对 GMS、Play 商店等写入“禁止全部联网”时改为不限制;
- 清除 Google 受限广播中的受限标记;
- 电池组件声明
IgnoreGmsUserSet时忽略旧的“用户改过 Google 联网”标记; - 深度睡眠断网白名单中加入 GMS。
这些 Hook 都在该共用进程中生效,因此也会作用于 Athena 在该进程内对上述 Google 包的相同调用。
包含的 53-coloros-13-rc1 / rc2 改动
- FCMFix 界面顶部新增 Hook 状态(Android 14 及以上),点击可查看明细并复制;模块状态显示实际使用的 API 101。
- 移除不会在 ColorOS 上生效的 MIUI / HyperOS 适配和需要 GMS 作用域的旧重连功能。
- 系统框架中的 ColorOS Hook 按功能拆分;更新界面依赖库和构建工具。
collect-report.sh新增 Doze 白名单和睡眠待机优化两栏。
测试重点
- 重启后 Hook 状态显示“电池:4 项生效”,没有“失配”;
- 电池设置、耗电统计等界面能正常打开,没有异常耗电或重启;
- 推送收发与 53-coloros-12.1 一致,尤其是熄屏过夜后。