pyphone

简介

pyphone是Python+PyQt5实现的跨平台Android手机投屏与操控工具,投屏使用minicap,操控使用minitouch

初始化

确认已安装了Python3.6或更高版本。

安装依赖库(推荐使用pipenv管理虚拟环境):

pip install -r requirements.txt

将手机连接到电脑,并确认调试模式已打开。

cd tools

python install.py

install.py脚本尝试自动安装对应手机版本的minicap/minicap.so/minitouch

pyphone默认使用8081与8082端口与手机通信,请确保这两个端口未被其它进程占用。

若要支持中文输入,请参考下文的如何输入中文

环境变量

PYDROID_VIRTUAL_AS_SCREEN

取值true/false

当设置为true(默认值)时,压缩minicap输出图片尺寸为pyphone窗口控件的实际尺寸,此时图片较小,传输更快。

当设置为false时,不压缩minicap输出图片尺寸,此时图片较大(为手机实际分辨率尺寸),可用于高清录屏。

PYDROID_HEIGHT

取值为大于0且小于手机实际高度的整数,默认为720。

启动

python main.py

共享屏幕

请先确认你有一个可用的Redis服务器

共享开启后(File->Enable Share),pyphone将屏幕数据发送到Redis服务器队列。其它用户可通过pyphone的Connect remote screen菜单连接到该队列,实现屏幕共享。

默认的Redis服务器地址在config.py中的REDIS_HOST变量中定义(默认localhost:6379),用户可以修改此地址指向自己的主机。开启共享后,pyphone还允许用户往操控队列中发送控制指令,目前支持的指令和格式如下:

单击:{"cmd": "click", "x": 1, "y": 2}

滑动:{"cmd": "swipe", "direction": "up|down|left|right", "border": "yes|no"}

输入文本:{"cmd": "text", "text": "HelloWorld123!!"}

截屏:{"cmd": "screenshots", "filepath": "/tmp/test.jpg"}

Shell命令:{"cmd": "shell", "param": "getprop ro.build.version.sdk | tr -d '\r'"}

示例:

import redis

import json

r = redis.Redis("localhost", 6379, db=3)

r.ping()

op_str = json.dumps({"cmd": "click", "x": 123, "y": 456})

share_id = 1701

r.lpush("pp-touch:%d" % share_id, op_str)

如何输入中文

默认的adb shell input text无法输入中文,可使用开源工具ADBKeyBoard解决。安装与使用示例:

cd tools

adb install ADBKeyboard.apk # 注意有些安卓手机要求在手机上确认安装过程

adb shell ime set com.android.adbkeyboard/.AdbIME # 切换到ADBKeyboard输入法

adb shell am broadcast -a ADB_INPUT_TEXT --es msg '中文输入'

手机写python工具_GitHub - littleningmeng/pyphone: Python实现的安卓手机投屏工具相关推荐

  1. 安卓获取手机网络强度_USB调试和USB网络共享,安卓有线投屏究竟选哪个?

    用过EZCast投屏设备的安卓手机E粉,可能有过这样的困惑. 「开启USB调试」和「开启USB网络共享」 究竟选哪个进行有线同屏? 今天的小E课堂中,我将带大家看看这两者的区别,以及应该用哪个比较好. ...

  2. 【Android工具】手机投屏工具

    今天直接在订阅号里编辑的文章,写完了不知道是浏览器死了还是微信订阅号死了,重新进入就什么都没有了,草稿真不好用,不说了,都是泪. 今天分享miracast投屏工具,谷歌play上下载的,有广告,大家凑 ...

  3. 免费的安卓手机投屏工具盘点:手机声音传输到电脑竟然如此简单?

    安卓投屏工具哪个好用?直播投屏的时候怎么把手机声音传输到电脑?随着直播行业的持续火热,各种直播平台越来越多,像大家熟悉的斗鱼.虎牙等都有大量的主播.这其中游戏主播也不占少数,直播手游的都知道,在直播的 ...

  4. 一款免费好用的手机投屏工具,多屏互动套件AirPin

    今天给大家推荐一款免费且无限制的投屏工具, 可以让我们在手机.电脑.电视.平板等设备中自由投射视频.音频.文档.图像等媒体信息 希望你们喜欢~ AirPin 一款耕耘多年的多屏互动套件,操作简单.功能 ...

  5. cad缩放工具怎么用_小米电视怎么投屏?这个投屏工具真的太好用啦!

    原标题:小米电视怎么投屏?这个投屏工具真的太好用啦! 大家最近有看什么优质的电影吗?张艺谋的<一秒钟>.李霄峰的<风平浪静>等等都挺好看的,我们可以在别人的故事里有所感悟,这或 ...

  6. Mac投屏工具AirServer 7 Mac汉化版

    AirServer 7 汉化版是一款Mac上好用的投屏工具,也是airplay终端工具.AirServer可以实现将手机上的媒体文件以及其他操作投射到电脑上进行操作.AirServer利用AirPla ...

  7. scrcpy - Android无需ROOT的跨平台投屏工具

    转载请注明出处: http://blog.csdn.net/aa464971/article/details/83349215 前言 之前有提到Vysor,但是这个插件免费版的码率比较低,如果要高清的 ...

  8. 溜溜tc games(投屏工具) 官方免费版 v2.0.0

    点击下载来源:溜溜tc games(投屏工具) 官方免费版 v2.0.0 TC Games是一款非常好用的手机游戏投屏工具,有了这款软件我们就可以将手机上的游戏画面投入到电脑上,大屏幕玩游戏,这样肯定 ...

  9. Android - 投屏工具 scrcpy

    引用 https://github.com/Genymobile/scrcpy 前言 在 App 开发过程当中,低头操作手机会很别扭,为了降低低头频率,有两种方法可以解决该问题: 在某宝上买一个手机支 ...

最新文章

  1. php mysql 500错误日志_服务器出现500错误的时候,让PHP显示错误信息
  2. Spark的transformation和action算子简介
  3. 用c语言描述单链表的数据类型,数据结构—单链表(类C语言描述)
  4. Spring BPP中优雅的创建动态代理Bean 1
  5. OpenWrt 学习网址
  6. 直播预告丨 Oracle 12C~19C统计信息的最佳实践
  7. C语言枚举类型(enum)的各种用法
  8. android之monkey测试
  9. Echarts关系图(使用重力图)
  10. 台媒体:IBM PC将成特洛伊木马【ZZ】【另一个角度】
  11. 中国移动苏州研发中心前端笔试(2)
  12. 基于JavaSwing开发中国象棋对战游戏+实验报告 课程设计 大作业
  13. 同步发电机励磁调节实验原理_发电机组自动控制系统工作原理
  14. WPF 自定义 写实风 雷达图控件
  15. 解决在Access中显示ActiveX部件不能创建对象
  16. 精力充沛是一种自我管理能力
  17. CSS基础(P45-P65)
  18. Windows/Linux下C++对于UUID的跨平台封装
  19. sketchup转stl_求助,如何将skp转换成stl实现3d打印?
  20. 【科研】浅学Cross-attention?

热门文章

  1. 依锥彻怕燎方跃涣牧叵邻牟辟岗俅
  2. python案例——数学问题案例
  3. 【沃顿商学院学习笔记】宏观经济学——04贫穷Povety与不平等Inequality
  4. Matlab绘制多个折线图的方法
  5. WPF中MaterialDesignThemes前端框架的使用(超详细图解步骤)
  6. 将时间转换成16进制Unix时间戳
  7. StyleGAN 调整面部表情,让虚拟人脸更生动
  8. linux一次系统调用时间,Linux系统调用—时间和日期
  9. FusionCharts参数及功能特性详解(二)
  10. ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker