Skip to content

Repository files navigation

Android 远程屏幕操作同步应用

一个基于 Android 的远程屏幕控制和操作同步应用,支持服务器/客户端模式,允许用户在一台设备上控制另一台 Android 设备的屏幕操作。

功能特性

  • 🖥️ 屏幕同步:实时同步 Android 设备屏幕内容
  • 🎮 远程操作:通过客户端设备控制服务器设备的触摸操作
  • 🔄 双向通信:支持服务器和客户端两种模式
  • 🎨 Material Design 3:现代化的 UI 界面,支持深色模式
  • 🔐 无障碍服务:通过 Android 无障碍服务实现触摸事件模拟
  • 📱 自适应布局:支持不同屏幕尺寸的设备

主要模块

核心功能

  • ServerService: 服务器服务,监听客户端连接并处理触摸事件
  • ClientSocketManager: 客户端连接管理,连接到服务器并发送控制指令
  • TouchAccessibilityService: 无障碍服务,模拟触摸操作
  • CoordinateMapper: 坐标映射器,处理不同设备间的坐标转换

UI 界面

  • MainActivity: 主界面,显示连接状态和模式选择
  • ServerActivity: 服务器模式界面,显示等待连接状态
  • ClientActivity: 客户端模式界面,提供远程控制面板

工具类

  • ScreenUtils: 屏幕工具类,获取屏幕尺寸等信息
  • NetworkUtils: 网络工具类,处理网络连接相关功能
  • Constants: 常量定义

技术栈

  • 语言: Kotlin
  • UI 框架: Jetpack Compose
  • 架构: MVVM
  • 网络: Socket TCP/IP
  • 数据存储: DataStore Preferences
  • 协程: Kotlin Coroutines
  • 最低版本: Android 7.0 (API 24)
  • 目标版本: Android 15 (API 36)

使用方法

配置设备

  1. 服务器设备(被控端):

    • 安装并打开应用
    • 授予无障碍服务权限
    • 选择"服务器模式"
    • 记录显示的 IP 地址和端口
  2. 客户端设备(控制端):

    • 安装并打开应用
    • 选择"客户端模式"
    • 输入服务器的 IP 地址和端口
    • 点击连接

连接步骤

  1. 确保两台设备在同一局域网内
  2. 启动服务器设备的应用
  3. 在客户端设备输入服务器 IP 和端口
  4. 连接成功后,客户端可以控制服务器设备的屏幕

权限说明

  • 无障碍服务: 用于模拟触摸操作
  • 网络权限: 用于设备间通信
  • 前台服务: 保持服务运行

项目结构

app/
├── src/main/
│   ├── java/com/example/myapplication/
│   │   ├── ui/              # UI 界面
│   │   ├── service/         # 服务层
│   │   ├── network/         # 网络通信
│   │   ├── util/            # 工具类
│   │   ├── model/           # 数据模型
│   │   ├── mapper/          # 数据映射
│   │   └── repository/      # 数据仓库
│   └── res/                 # 资源文件
└── build.gradle.kts         # 构建配置

构建说明

环境要求

  • Android Studio Hedgehog 或更高版本
  • JDK 11 或更高版本
  • Android SDK 36

编译运行

  1. 克隆项目到本地
  2. 使用 Android Studio 打开项目
  3. 同步 Gradle 依赖
  4. 连接 Android 设备或启动模拟器
  5. 运行应用

注意事项

⚠️ 安全提示:

  • 请确保在可信的网络环境下使用
  • 不要在不安全的网络中暴露服务
  • 使用完毕后及时关闭服务

⚠️ 兼容性:

  • 需要 Android 7.0 及以上版本
  • 部分设备可能需要特殊的无障碍服务配置

许可证

本项目仅供学习和研究使用

联系方式

如有问题或建议,请通过以下方式联系:


开发时间: 2026 年 4 月 版本: 1.0.0

About

MyApplication

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages