(需要了解开发细节和demo的朋友可以私信我或者加微信Kingthink)

一、背景

有一天,手机屏幕摔坏掉,我只能看那寥寥可数的开机、Power键,欲哭无泪,
我想要有一款PC端控制软件在必要时就能解围;

有一天我想控制多台手机完成相同的内容(比如:刷微博,刷朋友圈),
然后完美自动完成类似活动,比如:在指定的时间给指定的号码发送一条暧昧短信,或者在指定的时间下载一个酷爽APK并安装又或者在忙的时候自动刷新新闻,这样我在没有wifi的地方也能看一天的新闻了.

二、需求分析

  • 1. 手机通过USB与PC端连接,无需安装APK,无需做其他多余操作,开启PC端软件,直接显示联机控制

  • 2. PC端显示等比例手机图像,在PC端实现与点击、划屏、长按等一系列屏幕操作

  • 3. PC端键盘输入转换到手机软键盘输出,从而实现某些APP登录功能

  • 4. 直接从PC端安装已经下载好的APK文件,直接运行启动

  • 5. PC端可以搜索到当前wifi热点,同时能连接选择的wifi

  • 6. PC端显示收到的短信信息

  • 7. PC端软件控制手机拨打电话和接听来电(PC端支持实时来电提醒功能)


架构设计


手机屏幕显示模块运行测试截图

连接层代码设计

  1. 手机USB连接电脑后通知应用层,创建连接链路
  2. 向控制层注册事件
    typedef struct android_usb_connection_s android_usb_connection_t;
    struct android_usb_connection_s
    {
    android_socket_t socket; // 虚拟套接字
    usb_snd_buffers *snd_buffer; // 控制层用户态发送缓冲区
    usb_rcv_buffers *rcv_buffer; // 控制层用户态接收缓冲区
    android_pool_t *pool; // 资源池对象,统一管理连接相关资源创建和释放
    android_log_t *log; // 全局日志对象
    android_process_handles handles; // process集合
    };

uint_t
register_contorl_event(android_usb_connection_t *conn);


控制层代码设计

  1. 接收用户的屏幕控制消息

ADB协议打包

  1. 修改ADB Server层代码,自定义信令逻辑
  2. 优化服务端逻辑代码,加入中继模式
  3. demon端协议封包层不变

细节方面我会分多篇文章进行介绍, 需要了解开发细节和demo的朋友可以私信我或者加微信。
微信二维码长这样

完美实现PC端软件控制手机(无需安装任何APK)(一)相关推荐

  1. 7款必须下载的PC端软件,必看

    7款必须下载的PC端软件,必看!  如今的职场内卷程度,看看互联网公司的996作息就能大致明白.想要在如此内卷的情况下脱颖而出,光靠个人的努力是相当困难的,我们必须借助一些外力才行.一个顺手好用的设 ...

  2. 在pc端上操作手机工具分享

    在pc端上操作手机工具分享 今天要跟大家分享的工具名字叫scrcpy(来源于GitHub) scrcpy可以通过usb或是(Tcp/IP)来连接安卓设备,并且不需要root权限,程序支持GNU/Lin ...

  3. 好用PC端软件分享,来看看有没有你的心头好

    今天我汇总了几个好用的PC端软件,朋友们来看一下有没有同款吧. 1.AnyDesk AnyDesk 是一个特别小巧实用的远程桌面控制软件.我们都知道QQ 有自带的远程协助,但是呢,勉强凑合.AnyDe ...

  4. 什么app能和PC端同步工作?手机电脑同步工作助手软件试试云便签

    对于上班族来说,手机和电脑都是日常要使用的电子设备,它们的功能和用途各有侧重点,在我们的生活和工作中是互为补充的.但有不少网友表示自己在工作的时候,经常需要手机和电脑不断的切换使用,其实这样不仅会增加 ...

  5. 安卓多台手机之间屏幕同步与pc通过adb控制手机

    最近有这样一个需求,多台手机之间,手机B,手机C,手机D全部显示手机A的屏幕或摄像头画面. 一开始为了快速实现,方案为手机A截屏,然后用socket发送给其余手机,效果实现,但是非常卡顿. 后来,想用 ...

  6. 整理!这10款PC端软件,设计师必备!

    相信有很多人都很羡慕那些设计大神能够做出杰出的设计,但你知不知道那些大神是用什么软件做出来的呢?下面介绍的这10款软件都是设计大神钟爱的,仔细看一看,总有一款适合你. 1.CorelDRAW Core ...

  7. 如何利用USB数据线在PC电脑上控制手机

    背景 最近老婆玩头条极速版赚钱,但是干干工作又操作手机很不方便,问我有没有简单的电脑控制手机的办法. 我试了好些安卓模拟器,都是又大又笨不好用.最终还是发现adb配合脚本实现PC控手机最方便舒适. 优 ...

  8. HID 设备PC端软件的开发

    市面上一些无驱的usbkey 一直是技术卖点,象招商银行的usbkey 就一直以无需安装驱动自豪.无驱动的usbkey确是比较方便,尤其在使用别人的计算机的时候. 刚好最近在研究一款HID 设备,在这 ...

  9. 完美电脑PC端微信多开实现及源码

    引用链接:http://www.ppsbbs.tech/?thread-22.htm 已更新,支持最新版本的微信版本 微信多开实现有很多种方法: 1.IOS端微信都开,需越狱 2.Android端微信 ...

最新文章

  1. python打印日志
  2. python bs4 + requests4 简单爬虫
  3. com.android.builder.packaging.DuplicateFileException
  4. mysql devel 编译_mysql编译安装
  5. Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作...
  6. stlink 升级固件以后失败_用户必看 | 直玩小程序发布!固件更新通知!
  7. 【面经】各大AI研究院共35场NLP算法岗面经奉上
  8. python填充excel单元格颜色_使用python3+openpyxl模块对excel表格进行背景颜色的填充...
  9. 微信小程序内置在线客服
  10. PHP解析大型Excel表格的库:box/spout
  11. The flowing processes must be stopped before the CUDA Visual studio integration installation can pro
  12. sql超键 候选键 主键
  13. 一名数据仓库工程师的自我修养
  14. java中引用数据类型有哪几种
  15. PyTorch深度学习-跟着小土堆学习
  16. c++rpg黑框游戏_RPG游戏 C++源码 文字RPG游戏
  17. java获取上级菜单_java在多菜单中返回上级菜单如何实现
  18. 区位码、国标码与机内码
  19. html特性速记图,html知识点速记
  20. 实验10-SPSS-自动线性建模

热门文章

  1. Linux文件搜索命令find、which和whereis应用
  2. ftrack Review 支持格式和分辨率
  3. bootstrap组件--笔记(2)
  4. 银行网点服务认证_银行网点服务认证标准
  5. 【MATLAB】变量似乎会随迭代次数而改变,请预分配内存以获得更高的运算速度。
  6. JS实现b站动态转发抽奖(小人数)新方案讲解
  7. 别人放假去旅游,你却在家搞学习?
  8. Vue 自适应高度表格的实现方法
  9. **Python 复数计算会丢失虚部的问题**ComplexWarning: Casting complex values to real discards the imaginary part
  10. 服务器群发消息,群发消息怎么发