-
Notifications
You must be signed in to change notification settings - Fork 8
Project Positioning and Capability Boundary
Last updated: 2026-07-22
Screen Remote is an Android client for remote control and ADB-based device management. It uses dadb for Android-side ADB capabilities, starts a bundled scrcpy server, establishes media and control channels, and manages sessions, remote display, and device operations in one application.
The project name follows the repository, application ID, and current UI: Screen Remote. The obsolete Scrcpy Mobile name from old documentation is no longer used.
| Location | Responsibility |
|---|---|
| Outer repository | Organizes the Android app subrepository, external dependencies, and external/wiki/. |
Screen-Remote/ |
Independently buildable Android application repository. |
external/dadb/ |
Gradle included build that provides dadb, Android transports, and the device-side helper. |
external/wiki/ |
Long-lived user and developer documentation. |
The app subrepository and outer repository are separate Git worktrees. Code, external dependencies, and wiki edits must not be mixed in an unconfirmed write.
Based on the current feature/ boundaries and MainScreen routing, the product provides:
- Sessions: save, group, and edit connection candidates and scrcpy configuration.
- Remote control: establish ADB and scrcpy runtime, display video and optional audio, and send touch, key, text, and other control messages.
- Device management: use an existing ADB connection for device information, files, apps, processes, port forwarding, and commands.
- Device access: USB Host, ordinary TCP, and Android Wireless Debugging pairing/connection paths.
- Configuration and diagnostics: theme, language, logging, backup/restore, ADB keys, and codec selection.
Canonical topic pages describe exact behavior. This page defines the product boundary without duplicating implementation details.
- Kotlin and Jetpack Compose in one Android application module.
- Java/Kotlin target 21 with Android
minSdk 23,targetSdk 37, andcompileSdk 37. - C/C++17 JNI boundary under
app/src/main/cpp/. -
external/dadbincluded build for ADB protocol, Android transports, and helper capabilities. - Bundled and verified scrcpy server
4.1.
See Build and Entry Points for exact versions and commands.
| Layer | Ownership |
|---|---|
core |
Shared models, persistence foundations, design system, internationalization, updates, and general rules. |
infrastructure |
ADB, scrcpy, protocols, transports, media, and runtime implementations. |
feature |
User scenarios for sessions, remote control, device management, settings, and codecs. |
service |
Android foreground service and system-lifecycle coordination. |
app |
Application, Activity, top-level assembly, and entry points. |
- A saved session defines connection candidates and user configuration.
- The ADB transport provides device communication, but ADB connected does not mean scrcpy media and control are ready.
- The scrcpy server, video/audio/control sockets, metadata, decoders, and controller form the remote runtime together.
- Video, optional audio, and control sockets must be established strictly and sequentially.
- User configuration, device-capability cache, and negotiated runtime facts remain separate.
Detailed paths will appear in the Technical Documentation Index after their audits complete.
- Overview / 总览
- Quick Start / 快速开始
- Connection & Pairing / 连接设备与配对
- Session Management / 会话管理
- Remote Control / 远程控制
- Settings / 设置
- Management Features / 管理功能
- FAQ / 常见问题
- Overview / 总览
- Technical Index / 技术文档索引
- Audit Checklist / 初始化与更新清单
- Conventions / 文档维护约定
- Architecture / 架构
- Module Map / 模块地图与边界
- Runtime Path / 运行时主链路
- Session State / 会话状态与事件
- Session Lifecycle / 会话配置与连接生命周期
- ADB, USB & Wireless / ADB、USB 与无线
- ADB Lifecycle / ADB 连接生命周期
- Pairing / 设备配对与无线调试
- Codecs / 编码与解码
- Remote Interaction / 远程交互性能与悬浮菜单
- Clipboard / 剪贴板同步
- Management / 管理功能
- Events & Shell / 事件、监控与 Shell
- Logging / 日志系统与维护
- Troubleshooting / 分层排障方法
- UI Design / UI 设计系统
- Bilingual Copy / 双语与文案
- Remote UI Analysis / 远程 UI 布局分析
- Engineering Rules / 工程与验证规则
- External Research / 外部研究与取舍
Technical topics appear here only after their page-level audit is complete. / 技术主题仅在完成逐页审核后加入侧边栏。