Repository navigation
Releases: Rove24/DarQ
Releases · Rove24/DarQ
Release list
v3.1
DarQ v3.1 Release Notes
本次更新是一次面向新系统的大版本:全面适配 Android 17,彻底根治 root 模式在新系统上的静默失效,并新增「扩展深色应用」与可开关的调试日志。
🚀 Android 17 全面适配
-
彻底根治 Android 17 上 root 模式完全失效的问题:
- 根因定位:
android.app.IProcessObserver这个 @hide AIDL 在 Android 15 新增了onProcessStarted,而且是插在onForegroundActivitiesChanged前面(不是追加在末尾)。DarQ 以compileSdkVersion 32编译,object : IProcessObserver.Stub()只实现了旧版的 3 个方法,但运行时继承的是设备 boot classpath 上那版声明了 4 个抽象方法的 Stub —— 匿名类天生不完整; - 为什么 15 / 16 能凑合用:
enableProcessObserverBroadcastOnProcessStarted这个 aconfig flag 当时默认关闭,系统压根不会调用onProcessStarted,缺失的那个方法永远碰不到; - 为什么 17 直接崩:该 flag 打开后系统真的开始回调,缺失的方法抛出
AbstractMethodError。由于抛的是Error而不是RuntimeException,Binder 那层的catch (RemoteException | RuntimeException)接不住 —— root 服务静默死亡,不弹窗、无日志、getprop也看不出任何异常; - 修复:补齐 AIDL 的
onProcessStarted声明并改为oneway对齐 AOSP,DarqService的 observer 补上对应空实现。
- 根因定位:
-
属性写入加入回读校验:
debug.hwui.force_dark的写入原先异常被全部吞掉,写失败完全无感知。现在每次写入后回读校验,失败会明确记录。
🌙 全新「扩展深色应用」(Android 17+)
-
对接 Android 17 新增的 force invert color 机制:
- 与旧版 Force Dark 不同,扩展深色无视应用自身的 opt-out,对浅色应用直接反色,覆盖更彻底;
- 主页「强制深色应用」下方新增独立卡片,Android 17 以下自动隐藏;
- 复用同一个应用选择器,标题与列表按用途自动区分,两个列表互相独立。
-
实现思路与强制深色完全一致:
- 扩展深色的全局开关和
debug.hwui.force_dark一样是全局的,DarQ 复用已有的前台应用监听,在每次前台切换时重算一次「当前应用该不该用扩展深色」,因此只对勾选的应用生效; - 勾选的应用同时写入系统的「强制启用」名单,让不符合系统启发式的应用也能被反色;
- 额外优势:
ViewRootImpl注册了 force-invert 状态监听,开关变化会立刻触发深色重算,不需要等待窗口重建,切换比强制深色更跟手。
- 扩展深色的全局开关和
-
已知限制:图片与视频内容无法被反色,应用内的商品图、封面图等仍会保持原色,这是反色机制的固有限制。
📋 可开关的调试日志
-
开发者选项 → 服务信息下方新增「调试日志」开关:
- 打开后输出 root 服务的关键节点:绑定模式(Root / Shizuku)、
Shell.rootAccess()结果、属性写入回读、前台应用切换、白名单同步; - 关闭时每次调用只有一次布尔判断,几乎零开销;
- 抓取方式:
adb logcat -s DarQService:v DarQServiceProvider:v AndroidRuntime:E。
- 打开后输出 root 服务的关键节点:绑定模式(Root / Shizuku)、
-
新增的日志设施
DarqLog让这类「静默失效」问题不再需要改代码重新编译才能定位。
🎨 细节修复
- 开关样式统一:开发者选项新增的开关改用模块自带的 MD3 实现,清除主题 Tint 干扰,与主页总开关样式完全一致。
- 服务连接层日志补全:输出绑定模式与实际失败原因,便于排查 Root / Shizuku 模式切换问题。
- 前台检测链路日志:前台回调、包名反查、observer 注册失败都会留下记录,不再静默。
📦 下载与安装说明
- 推荐直接下载下方 Assets 中的安装包进行更新。
- 本版本全面兼容 Android 10 ~ Android 17,支持 LSPosed 模块模式、Shizuku 免 Root 模式及传统 Root 模式运行。
- 「扩展深色应用」需要 Android 17(API 37)及以上,低版本系统会自动隐藏该卡片。
v2.6
本次更新重点重构了全应用 Material Design 3 规范开关的底层实现,并对所有界面、卡片、图标与开关的间距及对齐进行了像素级(Pixel-perfect)校准,带来了更加统一、精致的原生系统级视觉体验。
🔘 Material Design 3 规范开关纯代码重构
- 彻底根治静态 XML 导致的开关拉伸与变形:
- 弃用传统的静态 XML Drawable,全面采用纯 Kotlin/Java 代码动态构建
GradientDrawable+LayerDrawable+StateListDrawable; - 严格锁定 MD3 官方规范几何尺寸:轨道
52dp × 32dp(圆角16dp,描边2dp),开启滑块直径24dp,关闭滑块直径16dp。
- 弃用传统的静态 XML Drawable,全面采用纯 Kotlin/Java 代码动态构建
- 引入精密非对称 Inset 几何校正算法:
- 通过代码层动态计算非对称内边距(开启状态
-2dp / 4dp,关闭状态8dp / 2dp),将滑块固有层宽精准固定为26dp(恰好半个轨道宽); - 彻底解决了 XML 无法支持负边距导致
SwitchCompat误将开关撑大至64dp的问题,确保滑块开启与关闭状态与轨道两端半圆完全同心。
- 通过代码层动态计算非对称内边距(开启状态
- 双模精准色值与全局统一样式:
- 深度适配深色与浅色双模式 MD3 标准色彩(深色开启轨道
#A8C7FA、滑块#00325B;关闭轨道#363A40、滑块#C4C7C5、描边#8E918F); - 代码层强制清空系统及主题 Tint 覆盖,全应用所有开关(主页总开关、各子设置开关、自动暗色模式、应用列表与过滤开关)样式 100% 绝对统一。
- 深度适配深色与浅色双模式 MD3 标准色彩(深色开启轨道
📐 全局间距与视觉对齐像素级校准
- 应用列表开关右边距彻底对齐:
- 彻底修复
item_app.xml内部双层边距叠加(8dp 容器 padding + 16dp 开关 margin = 24dp)及过滤开关硬编码 24dp 的问题; - 应用列表内所有的开关右边距统一收窄为标准的 16dp,与主页、高级选项及自动暗色模式的开关右边缘达到像素级水平对齐。
- 彻底修复
- 数据配置选项与高级选项像素级对齐:
- 网格基准线对齐:重构数据配置选项卡片结构,去除多余的外层 padding,图标与标题文字起始位置分别精准对齐至卡片左侧 12dp 与 76dp,与高级选项及主页完全一致;
- 图标光学体量(Optical Size)一致化:经过尺寸测算,将数据配置选项的图标内边距优化为 13dp,使云朵、恢复、清除等全幅矢量图的有效视觉体量与高级选项中的甲虫等图标(0.75 缩放,30dp 视效)保持 1:1 视觉一致,消除了原先图标过大贴边的割裂感;
- 条目高度与留白统一:去除卡片多余的上下 padding,统一定制为标准
minHeight="68dp",条目视觉厚度完全一致。
- 二级页面顶栏间距统一:
- 统一高级选项与 Xposed 选项等 RecyclerView 的
paddingTop为 12dp,配合列表首项卡片的 4dp margin,使所有二级页面的首张卡片距离顶栏 AppBar 的间距均统一为标准的 16dp。
- 统一高级选项与 Xposed 选项等 RecyclerView 的
🎨 细节体验与视觉规范统一
- 字体规范全面对齐:各子页面标题全面应用
TextAppearance.AppCompat.Medium.Darq(Google Sans Medium 500 字重),消除字体粗细与字号差异。 - 主页与关于卡片视觉对齐:主页普通设置项图标与“关于”卡片图标严格保持在屏幕边缘起算的同一垂直对齐线上。
📦 下载与安装说明
- 推荐直接下载下方 Assets 中的安装包进行更新。
- 本版本全面兼容 Android 10 ~ Android 16+,支持 LSPosed 模块模式、Shizuku 免 Root 模式及传统 Root 模式运行。
v2.2
DarQ v2.2 Release Notes
本次更新重点聚焦于开机自启动与系统重启恢复的稳定性修复,彻底解决了系统重启后出现的后台崩溃与状态恢复闪退问题。
🛠️ 核心修复与稳定性提升
-
彻底根治设备重启后从后台进入闪退的问题:
- 修复了从多任务列表恢复任务栈时,Fragment 容器尚未就绪导致的页面崩溃异常;
- 手机重启后,无论直接点击桌面图标还是从多任务后台卡片进入应用,均能秒进主页,不再需要手动划掉后台任务卡片。
-
彻底修复开机自启动前台服务的确定性崩溃:
- 深度适配 Android 12+ 及现代系统规范,为开机启动服务中的所有通知
PendingIntent补齐FLAG_IMMUTABLE标志位; - 解决了在 Android 12/13/14/15/16 等系统上,应用获得开机自启权限后随系统启动时 100% 后台抛出异常暴毙的问题。
- 深度适配 Android 12+ 及现代系统规范,为开机启动服务中的所有通知
-
规范开机广播接收配置:
- 校准开机广播接收器(
BootReceiver)的导出属性与系统权限声明,确保主流定制系统(如 HyperOS、OriginOS、ColorOS 等)在开机完成广播到达时能可靠唤醒服务。
- 校准开机广播接收器(
v2.1
DarQ v2.1 Release Notes
相比 v1.4 版本,v2.1 带来了全面的界面重构、交互逻辑优化、服务稳定性提升以及代码深度精简。
🎨 Material Design 3 视觉与动效优化
- 根治主页卡片过渡闪烁:主页“启用 DarQ”总开关卡片全面换装全新 MD3 规范组件,彻底解决点击进入二级页面过渡动画中卡片背景突兀变亮的视觉 Bug。
- 24 小时制双圈原生时钟盘:深度定制对齐 Google 原生时钟样式,时间数字纯色无亮色描边,优化操作按钮圆角与触控尺寸。
- 居中现代化启动弹窗:彻底移除旧版底栏样式,Root 缺失、Shizuku 引导与服务超时等启动提示全面换装 MD3 居中圆角卡片(28dp 圆角与胶囊操作按钮)。
- 专业规范的引导文案:重写启动弹窗文案,清晰指引免 Root 用户通过 Shizuku(支持 Android 11+ 无线调试)快速授权运行。
- 应用选择页折叠优化:“显示没有界面的应用”展开高度与应用卡片严格对齐,触控区域与平滑动效细节全面校准。
⏰ 自动深色模式逻辑全面重构
- 全新层级排斥与联动逻辑:
- 总开关关闭时,下方两个子选项(日落到日出 / 自定义时间)强制关闭并禁用点击;
- 总开关开启时,子选项初始默认保持关闭,用户自主选择生效模式;
- 两个子选项严格单选互斥,点击即时切换,无多余过渡状态;
- 若总开关处于开启状态但未选择任何子模式,返回主页时系统将自动回退总开关为关闭状态,防止无效空转。
- 自定义时间体验优化:
- 默认起止时间调整为更符合日常作息的 18:00 开启、06:00 关闭;
- 修复时间修改被重复覆盖的问题:加入持久化迁移保护标记,用户自主设定的任意时间(包括 22:00 / 07:00 等)均会被永久记忆,不再被意外重置;
- 开启/关闭时间的点击状态严格与“自定义时间”开关联动。
⚡ 核心逻辑与状态同步修复
- 配置即时同步与响应:优化 SharedPreferences 写入管道,内存高速缓存同步更新与后台持久化/IPC 分离,彻底解决“点击后配置已生效但界面显示延迟更新”的问题。
- 触控事件解耦:彻底剥离开关本体与卡片外框的重复事件监听,点击整行流畅切换,杜绝事件竞争与双击误触发。
- 列表动态刷新修复:重构设置列表的局部更新索引映射机制,在不同系统版本下(无论机型特定功能项是否可见)均能精准局部刷新对应开关项。
- 样式隔离优化:收窄 TimePicker TextAppearance 覆盖层级,避免全局样式污染其他界面组件。
🧹 极致精简与轻量化
- 移除检查更新模块:彻底清理更新检查器、相关底栏弹窗、后台服务注入及网络接口冗余,杜绝未比对版本误推更新的风险,APK 更加纯粹、轻量、稳定。
- 清理多余代码与资源:清除过期的冗余布局及多语言孤立文本,减小安装包体积,启动响应更迅速。
v1.4
DarQ v1.4 (Version 14)
🎨 Material Design 3 体验全面升级与细节对齐
- Google 时钟原生 MD3 时间选择器:深度重构自动深色模式中的自定义时间选取界面,对齐原生 Google 时钟质感(药丸胶囊选中块、高对比度浅天蓝字体、平滑表盘指针交互及 28dp 大圆角)。
- MD3 药丸胶囊风格确认弹窗:重构“数据配置选项 - 清除数据”对话框,采用 28dp 圆角平滑暗色容器(
#1D232C)与双胶囊药丸操作按钮(深色取消按钮 +#98CBFF淡蓝高光确定按钮),彻底告别旧版 Android 传统弹窗质感。 - 数据配置卡片图标对齐:在“备份”、“恢复”、“清除”三张功能卡片前增补标准 Material 前置图标,尺寸与边距完全对齐高级选项规范。
🚀 交互与动效体验优化
- 平滑折叠/展开动效重构:针对应用选择界面中“显示没有界面的应用”折叠卡片,采用专属属性动画实现顺滑平移淡入淡出(展开时指示箭头 180° 旋转,开关顺滑滑入;收起时平滑滑出隐藏)。
- 双区独立触控:优化触控响应区域,点击整行卡片仅控制折叠/展开,仅点击右侧开关本身才切换过滤规则,杜绝误触。
- 间距与视觉规范:微调自动深色模式二级页面中的“计划方式”标题边距,严格对齐主页视觉层级。
🛡️ LSPosed 模块与系统描述全面同步
- 全面更新 AndroidManifest 与资源配置中的模块描述:“为每个应用独立强制开启深色模式,支持按设定时间自动切换”。
- LSPosed 框架模块管理器中现可准确展示全新功能介绍。
⚡ 架构精简与稳定性提升
- 精简开发者选项,保留核心“关闭重复的服务”及“服务信息”诊断卡片,移除冗余取色逻辑,保证模块极致轻量与高稳定性。
- 修复点击时间选择器偶发的闪退异常,全面提升应用生命周期稳定性。
📦 下载与安装说明
- 推荐直接下载下方 Assets 中的
DarQ-v1.4.apk。 - 如果您的设备已安装 LSPosed 框架,在框架管理器中勾选并启用本模块即可,无需开启应用内的后台常驻服务!