控制台、悬浮窗与屏保
Android 宿主把「控制」和「显示」分开了:控制台负责配置,悬浮窗负责随手操作,屏保负责在不看屏幕时省电与防烧屏。
页面

| 页面 | 内容 |
|---|---|
| 主页 | Runtime 状态、部署进度、启动/停止、远程绑定入口 |
| 挂机 | 虚拟屏画面、实例选择、任务开始/停止 |
| 控制台 | 内嵌 WebUI(与桌面版同一前端) |
| 日志 | 宿主 / Runtime / 特权服务三路日志 |
| 设置 | 外观、下载源、运行与安全、保活、屏保、关于 |
主页右上角的绑定按钮可以直接进入远程 AP 配对,不需要先部署本机 Runtime。
悬浮窗
基于 FloatingX 的全局浮窗,在任意应用或桌面之上可用:
| 操作 | 效果 |
|---|---|
| 单击 | 展开/收起面板 |
| 启动 / 停止 | 控制当前实例 |
| 队列 | 查看调度队列与当前任务 |
| 切换实例 | 在多实例间切换目标 |
| 日志 | 实时滚动最近的运行日志 |
悬浮窗是独立 Window,读不到 Activity 的 Configuration 或 ViewModelStore。它通过 AppThemeState 与 OverlayController 获取状态,所以主题切换后浮窗会跟着变,但不会共享页面的临时状态。
悬浮窗不显示
检查「悬浮窗」权限是否授予。部分厂商 ROM 还有单独的「后台弹出界面」开关。
屏保(防烧屏)
后台挂机时屏幕长期点亮,OLED 设备有烧屏风险。屏保提供:
| 行为 | 参数 |
|---|---|
| 背景 | 黑色低亮度 |
| 进入方式 | 手动开启,或任务启动时自动进入 |
| 漂移 | 无操作 30 秒后,每 10 秒上下移动 16dp |
| 退出 | 向右拖动解锁条到末端并松手 |
漂移是周期性小幅位移,不会影响游戏画面(屏保覆盖在虚拟屏之上,游戏仍在后台运行)。LCD 设备同样可用,只是收益不如 OLED 明显。
桌面小组件
支持 Glance / RemoteViews 小组件,可显示运行状态并快速启停。
部分旧版厂商系统不能可靠解析 ?attr 矢量着色与 cornerRadius,因此小组件使用显式 drawable 资源,不依赖主题属性。
保活
后台挂机最大的敌人是系统省电策略。宿主提供三层:
- 前台服务:Runtime 或虚拟屏活跃时保进程,通知栏常驻。
- 多路径保活:
KeepAliveManager按设置启用多条路径,可重复启停,设置开关是最终裁决。 - 电池优化白名单:需要你手动授权。
建议同时设置:
- 系统设置 → 电池 → 应用 → AzurPilot → 不受限制。
- 厂商的「自启动」「后台运行」白名单。
- 关闭「省电模式」对后台的限制。
保活不是万能的
部分 ROM 会在极端省电或内存压力下强杀进程。这时任务会中断,Runtime 需要重新启动。把日志导出后能看出是被系统杀死还是自身崩溃。
日志
三路日志分开归档:
| 日志 | 位置 | 内容 |
|---|---|---|
| 宿主日志 | 应用私有目录 | Compose、网关、部署、更新 |
| Runtime 日志 | proot/session.log + 上游 log/ | 调度器与业务 |
| 特权启动链 | 独立时间线 | ADB 启动、Binder 回投、虚拟屏 |
特性:
- 异常时自动保存当前画面快照。
- 默认 7 天轮转,过期清理。
- 一键打包导出为 zip。
导出前确认压缩包里没有 config/deploy.yaml、password.txt、remote-access.json。这些文件在 Runtime 的 config/ 下,导出日志时不会自动包含,但手动打包整个目录时会。
设置项速查
| 分组 | 内容 |
|---|---|
| 外观 | Material / Miuix、明暗模式、动态取色 |
| 下载 | CNB / GitHub 直连 / 镜像 / 自定义前缀 |
| 运行与安全 | 内置 Shizuku、Root、外部服务、激活状态 |
| 保活 | 前台服务、电池优化引导 |
| 屏保 | 自动进入、亮度、漂移 |
| OCR | 加速后端、线程数、失败回退 |
| 关于 | 版本、提交、开源许可 |
常见问题
| 现象 | 原因 |
|---|---|
| 浮窗点击无反应 | 悬浮窗权限被回收,或省电策略限制后台 |
| 屏保不漂移 | 系统关闭了动画(开发者选项),或处于省电模式 |
| 小组件显示旧状态 | 启动器缓存,重新添加小组件 |
| 息屏后任务停止 | 电池优化未放行 |
| 日志导出为空 | 日志已轮转清理,或导出目录无权限 |