Repository navigation
Releases: lejw0925/android-virtual-screen
Release list
Virtual Screen 0.1.1
虚拟屏 0.1.1
支持 Stellar 后端的维护版本,并增加画中画开关、虚拟屏应用重启自动审批和隧道状态跟随。要求 Android 13 或更新版本,并使用已授权的 Root 或 Shizuku / Stellar 后端。
主要更新
- Stellar 后端:Shizuku 后端现在可以在运行 Stellar 的设备上通过其原生 API 工作,绕开 Stellar 兼容层在 Android 15+ 丢失 UserService 连接回调的问题;授权、探测与显示命令沿用同一 Shizuku 显示服务。
- 画中画开关:设置中可关闭画中画预览。关闭后退回主屏不再进入悬浮窗,悬浮控制条隐藏「画中画」入口,MCP 权限检查也不再要求画中画权限;「系统画中画设置」跳转保留。
- 自动审批重启应用:「显示与控制」新增开关(默认关闭)。开启后远程客户端请求重启虚拟屏中运行的应用时直接批准,不再发送手机端审批通知;关闭时维持原有通知审批,最长等待两分钟。
- 隧道状态跟随:每次开启 MCP 服务时自动恢复上次连接的隧道方式(frp 或 Cloudflare),手动停止或切换隧道方式会清除该状态。
验证范围
- JVM 单元测试、Android Lint、调试与正式版 APK 构建通过。
- 模拟器(Android 14, Shizuku 后端)前台验证:画中画开关双向行为(关闭时 HOME 不回悬浮窗、悬浮条隐藏入口;开启后正常入 PiP);自动审批开启时 MCP
launch_app跨屏冲突约 1 秒返回restarted=true并落回虚拟屏,关闭时阻塞等待手机审批通知且不强杀应用,手机接管后按CONTROL_CHANGED正确收尾;重启 MCP 服务后 cloudflared 隧道以新进程自动拉起。 - MCP 设备检测 19/19 工具通过。
- Root / Shizuku / Stellar 行为、后台策略及隧道网络支持会因 Android 版本和厂商 ROM 而异;Stellar 路径尚未在真机回归。
Virtual Screen 0.1.1
A maintenance release that adds Stellar backend support, a picture-in-picture toggle, auto-approval for virtual-display app restarts, and tunnel state restore. Requires Android 13+ and an authorized Root or Shizuku / Stellar backend.
Highlights
- Stellar backend: the Shizuku backend now talks to Stellar's native API on devices running Stellar, working around the compat layer dropping the UserService connected callback on Android 15+. Authorization, probing, and display commands reuse the same Shizuku display service.
- Picture-in-picture toggle: PiP preview can be turned off in Settings. When off, leaving to the home screen no longer enters the floating window, the floating controls hide the PiP entry, and MCP permission checks stop requiring the PiP permission; the system PiP settings shortcut remains.
- Auto-approve app restarts: a new Display & control switch (off by default). When on, remote client requests to restart an app running on the virtual display are approved immediately without a phone notification; when off, the original notification approval with a two-minute wait applies.
- Tunnel state restore: starting the MCP service restores the previously connected tunnel mode (frp or Cloudflare). Manually stopping or switching the tunnel mode clears the state.
Validation
- JVM unit tests, Android Lint, and debug/release APK builds pass.
- Emulator foreground checks (Android 14, Shizuku backend): PiP toggle verified in both directions (HOME stays on the launcher and the floating control hides the entry when off; PiP enters normally when on). With auto-approve on, an MCP
launch_appcross-display conflict returnedrestarted=truein about one second with the app relaunched onto the virtual display; with it off, the call blocked on the phone approval notification without killing the app and ended withCONTROL_CHANGEDafter phone takeover. Restarting the MCP service relaunched the cloudflared tunnel automatically. - MCP device probe passed all 19 tools.
- Root / Shizuku / Stellar behavior, background policy, and tunnel networking vary by Android version and vendor ROM; the Stellar path has not been regression-tested on physical devices.
Virtual Screen 0.1.0
虚拟屏 0.1.0
首个稳定版,要求 Android 13 或更新版本,并使用已授权的 Root 或 Shizuku 后端。
主要更新
- 更新 Material 3 Expressive 首页、权限、后端与连接设置,统一状态 chip、语义颜色、图标和波浪进度。
- 增加手机端控制权审批弹窗,并修复通知正文跳回首页而不显示请求的问题;三个审批操作在窄屏也保持横排。
- 修复连续手工触控时前一手势的异步错误误报到下一次点击的问题。
- 无应用运行时,MCP 观察返回明确错误、可启动应用清单与恢复步骤;区分无障碍服务连接和节点窗口就绪状态。
- 增加浮动控制的结束操作、改进 PiP 状态通知及设置滚动行为。
Virtual Screen 0.1.0
First stable release. Requires Android 13+ and an authorized Root or Shizuku backend.
Highlights
- Refreshes the Material 3 Expressive home, permission, backend, and connection screens with consistent status chips, semantic colors, icons, and wavy progress.
- Adds an on-device control approval dialog and fixes notification taps that returned to home without showing the request. All three approval actions remain on one row on narrow screens.
- Fixes delayed errors from one manual touch gesture being reported against the next tap.
- MCP observations now return an explicit no-app result, launchable app list, and recovery steps. Accessibility connection and target-window readiness are reported separately.
- Adds an End action to floating controls and improves PiP status notifications and settings scroll behavior.
Virtual Screen 0.1.0-beta
虚拟屏 0.1.0-beta
Beta 测试版,要求 Android 13 或更新版本,并使用已授权的 Root 或 Shizuku 后端。
主要更新
- 重做 Material 3 首页、设置和首次使用流程;服务与连接卡片根据可用高度伸缩,短屏下内容可在卡片内滚动。
- 增加授权后全量运行 MCP 工具的诊断流程,并根据实际虚拟屏操作显示能力和逐工具结果。
- 扩展 MCP 控制、观察、输入、等待和请求回执工作流;输入严格限定在本应用创建的虚拟显示。
- 改进 Root 命令形式探测、Shizuku 授权等待、Root 轻点时序及会话清理。
- 补全中英文仓库说明、用例图、架构图和 Beta 发布验证信息。
验证范围
- 88 项 JVM 单元测试通过,Android Lint 无错误。
- Android 15 x86_64 模拟器的 Shizuku 应用内诊断:19/19 MCP 工具通过;显示创建、截图、输入和无障碍节点能力可用。
- 模拟器的 SELinux 策略禁止普通应用执行 AOSP
su,Root 应用授权和完整 MCP 探测未能在该镜像完成。Root 直接引擎检查不能替代已获授权 Root 应用的验证。 - 熄屏操作、不同厂商 ROM 和所有公网隧道网络环境未全部验证。
Virtual Screen 0.1.0-beta
Beta build for Android 13+ with an authorized Root or Shizuku backend.
Highlights
- Refreshes the Material 3 home, settings, and onboarding. Service and connection cards adapt to available height and keep short-screen content scrollable inside each card.
- Adds an authorization-gated diagnostic that runs every MCP tool and reports capabilities and per-tool results from real virtual-display operations.
- Expands MCP control, observation, input, wait, and request-receipt workflows. Input remains scoped to displays created by this app.
- Improves Root command detection, Shizuku grant waiting, Root tap timing, and session cleanup.
- Completes the Chinese and English repository guides, use-case and architecture diagrams, and Beta validation notes.
Validation
- 88 JVM unit tests passed; Android Lint reported no errors.
- In-app Shizuku diagnostics on an Android 15 x86_64 emulator passed 19/19 MCP tools. Display creation, capture, input, and accessibility nodes were available.
- The emulator's SELinux policy prevents ordinary apps from executing its AOSP
su; Root app authorization and a full Root MCP probe could not be completed on this image. Direct Root engine checks do not replace validation with Root granted to the app. - Screen-off operation, all vendor ROMs, and all public-tunnel network environments are not covered.
Virtual Screen 0.0.1
虚拟屏 0.0.1
给 Agent 一块独立的 Android 屏幕,手机主屏继续由你使用。
- Root / Shizuku 虚拟显示、同步画中画、运行通知和人工接管。
- 10 个带认证和独占租约的 MCP 工具,纯节点 / 截图 / 组合观察、唯一选择器和操作回执。
- 新首页、首次使用引导、简中 / 繁中 / 英文、深浅色与动态配色。
- 内置 frpc / cloudflared,提供局域网和隧道连接。
下载 virtual-screen-0.0.1.apk 安装;SHA256SUMS 用于校验。要求 Android 13+,Root 或已授权 Shizuku。可在首次引导中配置无障碍服务和 MCP。
已完成三轮实机迭代、28 项单元测试、7 项设备检查以及公开 APK 安装与 MCP 验证;Lint 无错误。真实范围、效率数据及限制见 验证记录。部分 ROM 的画中画/后台策略和应用多屏适配可能不同;本轮 Cloudflare Quick 因手机到 edge 的 7844 端口连接关闭 / 超时未通过;frpc 的 TCP / HTTP / HTTPS 已通过。许可为 PolyForm Noncommercial 1.0.0。
Virtual Screen 0.0.1
A separate Android display for your agent while your phone remains usable.
Authenticated MCP with exclusive leases, compact tree observations, unique selectors, optional observations after input, and session-owned request receipts. Includes automatic PiP, status notifications, takeover, onboarding, three UI languages, Root / Shizuku, and bundled frpc / cloudflared.
Install virtual-screen-0.0.1.apk on Android 13+ with Root or authorized Shizuku. Verify it against SHA256SUMS. Three UI iterations, 28 unit tests, seven device checks, and installation / MCP verification of the published APK were completed. See validation for the precise scope. Cloudflare Quick failed on this phone network because edge connections on port 7844 closed or timed out; frpc TCP / HTTP / HTTPS passed. Licensed under PolyForm Noncommercial 1.0.0.