完美实现PC端软件控制手机(无需安装任何APK)(一)
(需要了解开发细节和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端支持实时来电提醒功能)
架构设计
手机屏幕显示模块运行测试截图
连接层代码设计
- 手机USB连接电脑后通知应用层,创建连接链路
- 向控制层注册事件
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);
控制层代码设计
- 接收用户的屏幕控制消息
- …
ADB协议打包
- 修改ADB Server层代码,自定义信令逻辑
- 优化服务端逻辑代码,加入中继模式
- demon端协议封包层不变
细节方面我会分多篇文章进行介绍, 需要了解开发细节和demo的朋友可以私信我或者加微信。
微信二维码长这样
完美实现PC端软件控制手机(无需安装任何APK)(一)相关推荐
- 7款必须下载的PC端软件,必看
7款必须下载的PC端软件,必看! 如今的职场内卷程度,看看互联网公司的996作息就能大致明白.想要在如此内卷的情况下脱颖而出,光靠个人的努力是相当困难的,我们必须借助一些外力才行.一个顺手好用的设 ...
- 在pc端上操作手机工具分享
在pc端上操作手机工具分享 今天要跟大家分享的工具名字叫scrcpy(来源于GitHub) scrcpy可以通过usb或是(Tcp/IP)来连接安卓设备,并且不需要root权限,程序支持GNU/Lin ...
- 好用PC端软件分享,来看看有没有你的心头好
今天我汇总了几个好用的PC端软件,朋友们来看一下有没有同款吧. 1.AnyDesk AnyDesk 是一个特别小巧实用的远程桌面控制软件.我们都知道QQ 有自带的远程协助,但是呢,勉强凑合.AnyDe ...
- 什么app能和PC端同步工作?手机电脑同步工作助手软件试试云便签
对于上班族来说,手机和电脑都是日常要使用的电子设备,它们的功能和用途各有侧重点,在我们的生活和工作中是互为补充的.但有不少网友表示自己在工作的时候,经常需要手机和电脑不断的切换使用,其实这样不仅会增加 ...
- 安卓多台手机之间屏幕同步与pc通过adb控制手机
最近有这样一个需求,多台手机之间,手机B,手机C,手机D全部显示手机A的屏幕或摄像头画面. 一开始为了快速实现,方案为手机A截屏,然后用socket发送给其余手机,效果实现,但是非常卡顿. 后来,想用 ...
- 整理!这10款PC端软件,设计师必备!
相信有很多人都很羡慕那些设计大神能够做出杰出的设计,但你知不知道那些大神是用什么软件做出来的呢?下面介绍的这10款软件都是设计大神钟爱的,仔细看一看,总有一款适合你. 1.CorelDRAW Core ...
- 如何利用USB数据线在PC电脑上控制手机
背景 最近老婆玩头条极速版赚钱,但是干干工作又操作手机很不方便,问我有没有简单的电脑控制手机的办法. 我试了好些安卓模拟器,都是又大又笨不好用.最终还是发现adb配合脚本实现PC控手机最方便舒适. 优 ...
- HID 设备PC端软件的开发
市面上一些无驱的usbkey 一直是技术卖点,象招商银行的usbkey 就一直以无需安装驱动自豪.无驱动的usbkey确是比较方便,尤其在使用别人的计算机的时候. 刚好最近在研究一款HID 设备,在这 ...
- 完美电脑PC端微信多开实现及源码
引用链接:http://www.ppsbbs.tech/?thread-22.htm 已更新,支持最新版本的微信版本 微信多开实现有很多种方法: 1.IOS端微信都开,需越狱 2.Android端微信 ...
最新文章
- python打印日志
- python bs4 + requests4 简单爬虫
- com.android.builder.packaging.DuplicateFileException
- mysql devel 编译_mysql编译安装
- Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作...
- stlink 升级固件以后失败_用户必看 | 直玩小程序发布!固件更新通知!
- 【面经】各大AI研究院共35场NLP算法岗面经奉上
- python填充excel单元格颜色_使用python3+openpyxl模块对excel表格进行背景颜色的填充...
- 微信小程序内置在线客服
- PHP解析大型Excel表格的库:box/spout
- The flowing processes must be stopped before the CUDA Visual studio integration installation can pro
- sql超键 候选键 主键
- 一名数据仓库工程师的自我修养
- java中引用数据类型有哪几种
- PyTorch深度学习-跟着小土堆学习
- c++rpg黑框游戏_RPG游戏 C++源码 文字RPG游戏
- java获取上级菜单_java在多菜单中返回上级菜单如何实现
- 区位码、国标码与机内码
- html特性速记图,html知识点速记
- 实验10-SPSS-自动线性建模
热门文章
- Linux文件搜索命令find、which和whereis应用
- ftrack Review 支持格式和分辨率
- bootstrap组件--笔记(2)
- 银行网点服务认证_银行网点服务认证标准
- 【MATLAB】变量似乎会随迭代次数而改变,请预分配内存以获得更高的运算速度。
- JS实现b站动态转发抽奖(小人数)新方案讲解
- 别人放假去旅游,你却在家搞学习?
- Vue 自适应高度表格的实现方法
- **Python 复数计算会丢失虚部的问题**ComplexWarning: Casting complex values to real discards the imaginary part
- 服务器群发消息,群发消息怎么发