Repository navigation
v0.1.15 — 扇形双圈与侧边栏工具执行修复(二改版)
说明
本版是 Mangi-11/FlymeFreeform 的二次开发版(衍生版本),
基于上游 dbbf0d5(2026-09-10)修改,主要针对 ColorOS 17 / Android 17(SDK 37) 做适配与修复。
本次更新(v0.1.11 ~ v0.1.15)集中解决侧边栏工具执行与扇形双圈布局两大主题。
原项目版权归原作者 Mangi-11 所有,本衍生版同样以 GPL-3.0 授权。所有厂商接口均从设备上的实际
APK / JAR 反编译核对取得,未凭推测。
新增
- 扇形双圈布局:扇形菜单扩展为内圈 + 外圈两层,可固定的应用数量翻倍;
内外圈条目在设置中独立配置,滑选按圈层判定。 - 「全部」面板新增「最近小窗」区块:最近使用过的小窗应用自动出现在面板顶部,
面板内点击也会计入最近记录,取色对齐原厂区块样式。 - 侧边栏工具固定项:小布识屏、全局翻译、截屏等 22 个智能侧边栏工具可固定到扇形,
滑选即触发(执行走原厂PageRout路径,与系统侧边栏一致)。 - 工具目录自动同步:开机自动向侧边栏拉取工具目录(失败自动重试 3 次),
打开设置界面时主动补拉,扇形与「选择应用」列表的工具图标自动就位。
修复
- 扇形里触发小布识屏 / 全局翻译等工具无反应(v0.1.13 / v0.1.14):三重根因,全部实测定位 ——
- 原厂工具条目的
activity字段恒为空串(反编译实锤:new EntryBean(absTool.getAlias(), validPkg, "", 0, 0)),
旧匹配逻辑永远落空后静默回退,现改按getAlias()匹配,与原厂内部一致; - 工具执行时侧边栏处于后台,其内部
startForegroundService被 Android 12+ 后台 FGS 限制拒绝
且异常被原厂吞掉(logcat 实锤BFGS denied: true),现绑定加
BIND_ALLOW_FOREGROUND_SERVICE_STARTS豁免并延迟 5 秒解绑保住豁免窗口; - 工具目录回传通道的
replyTo恒空导致链路从未触发,已修复。
- 原厂工具条目的
- 「选择应用」界面工具条目无图标(v0.1.15):
Settings.Global单值实测上限 32KB,
带图标的工具目录约 60KB+ 写入被拒且异常被吞,界面读到的永远是旧残留。
现 Settings 只存去图标文本作兜底,带图标版(72px WEBP)经 system_server 定向广播落盘。 - 共享状态冷启动竞态:框架连接未就绪时的写入会丢失,现排队并在连上后补写。
优化
- 内外圈几何调整:内圈图标与外圈同尺寸(不再缩小),两圈径向间距由 1.5dp 拉开至 12dp,
外圈布局完全不变,解决"两圈贴太近"的观感问题。 - 目录图标压缩:设置侧目录图标统一压到 72px WEBP,降低传输与落盘开销。
- 诊断码补全:工具图标加载、目录中继、工具执行全链路均有诊断码,出问题看 LSPosed 日志即可定位环节。
安装与升级
- 从本二改版 v0.1.10 升级:签名相同,直接覆盖安装即可;
从上游版或第三方二改版升级:先卸载(签名不同,覆盖会报INSTALL_FAILED_UPDATE_INCOMPATIBLE) - 安装 APK,在 LSPosed 管理器中启用模块
- 确认作用域 4 项均已勾选:
系统框架/系统界面/桌面/智能侧边栏 - 重启整机(Hook 装在 system_server,只重启应用无效)
- 从左右下角斜向内上滑,呼出扇形菜单验证;首次重启后等侧边栏就绪(约半分钟)工具图标自动同步
装之前请先自检(能不能用)
模块只在满足全部下列条件时才工作。任一不满足 = "装了没反应"或"只有一半功能",
这不是 bug,是代码里的硬判定。
| # | 条件 | 不满足时的表现 |
|---|---|---|
| 1 | 系统为 Android 16 或 17(SDK 36 / 37) | 模块直接拒绝工作。 |
| 2 | ROOT 框架为支持 libxposed API 102 的 LSPosed(较新版本) | 模块根本不会被加载;老版 LSPosed / EdXposed / 太极不适用 |
| 3 | 系统为 ColorOS 16 / 17(一加 / OPPO / realme 等 OPlus ROM) | 非 ColorOS 系统没有 com.coloros.smartsidebar,不工作 |
| 4 | 已安装智能侧边栏且为系统应用、已启用、未冻结 | 「全部」面板不可用(扇形菜单可能仍可用) |
| 5 | LSPosed 中作用域 4 项全勾:系统框架 / 系统界面 / 桌面 / 智能侧边栏 |
只勾一部分会半残 |
实测环境:一加 15T(PLZ110)· ColorOS 17.0.0.103(CN01) · Android 17 / SDK 37 ·
智能侧边栏 17.9.2 / 170009002 · LSPosed 日志验证 8 个 Hook 全部 INSTALLED。
出问题怎么自查
模块内置诊断码,全程写入 LSPosed 日志(LSPosed 管理器 → 日志,或 /data/adb/lspd/log/):
| 看到的码 | 含义 |
|---|---|
| 日志里完全没有本模块名 | 框架不支持 / 模块未启用 / 作用域没勾 |
*_UNAVAILABLE、ClassNotFoundException、NoSuchMethodException |
厂商接口漂移(ROM 不匹配),已安全降级 |
RADIAL_ICON_FILL 有输出 |
system_server 侧注入成功,图标整形生效 |
TOOL_CATALOG_SERVED / TOOL_CATALOG_BROADCAST |
工具目录同步链路正常 |
TOOL_ICON_*_FAILED |
工具图标加载失败的具体环节 |
MODULE_SKIPPED_UNEXPECT(在 smartsidebar:edgepanel) |
正常现象,该进程不在作用域内 |
校验值
FlymeFreeform-0.1.15.apk
size 3,097,297 字节
md5 7c9375082f05156001e47551540624ac
sha256 09bfbbffea8433954360784506ff9abb85554dffef7c5ee63b43b070d3ac9539
签名 CN=bomo FlymeFreeform fork(v3 方案,SHA-256 79361CBF...E9E409E)
构建方式:gradlew :app:assembleRelease(R8 开启)→ zipalign -p -f 4 → apksigner sign(v2 + v3)。
免责声明
Xposed / LSPosed 模块会修改系统底层行为,存在系统不稳定、应用闪退甚至无法开机的风险。
请确保在具备救砖能力的前提下使用。因使用本模块导致的一切后果,本人及原作者均不承担责任。
本模块完全免费,严禁倒卖或用于任何盈利目的。