python开发,安卓手机无线远程控制安卓手机。
是手机控制手机,不是电脑控制手机。类似于向日葵那种。
有现成的工具,teamviewer
安装scrcpy
安装scrcpy-server.jar
主要步骤如下:
通过 adb push 一个 scrcpy-server.jar 到手机上。
注: scrcpy-server.jar 是虽然是一个 zip 文件。 但是其实是一个apk。
PC 端通过 adb reverse 反向代理手机端口。用来接收手机端发送过来的数据。
adb shell CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process /com.genymobile.scrcpy.Server com.genymobile.scrcpy.Server 0 8000000 false - false 使用 app_process 运行 scrcpy-server.jar 的代码。
scrcpy-server.jar 主要做三件事情:
1,开启 LocalSocket 和PC连接。 相应 PC 端传递过来的操作。
2,源源不断的将屏幕画面输出到PC,使用Mediacodec 编码。 PC 通过ffmpeg 解码播放。
3,使用 adb 来提高 scrcpy-server.jar 的运行权限
注: 模拟 input 事件使用 android.hardware.input.IInputManager.injectInputEvent 方法。
注:scrcpy-server.jar的获得方式:下载scrcpy-server-v1.17后重命名为scrcpy-server.jar,参考:Is it possible to redirect the stream to another application ? #1073
How to execute adb commands as fast as your code #1625
adb push scrcpy-server.jar /data/local/tmp/scrcpy-server.jar
adb forward tcp:8080 localabstract:scrcpy
#6个参数
adb shell CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process / com.genymobile.scrcpy.Server 0 800000 true - true true
#1.12版本(5个参数)
#adb shell CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process / com.genymobile.scrcpy.Server 1.12 0 8000000 30 true
#1.17版本(15个参数)
#shell CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process / com.genymobile.scrcpy.Server 1.17 info 960 1073741824 60 -1 true - false true 0 false false - -
试试 todesk?
首先python是可以使用第三方库如 PyAutoGUI、pywinauto 等来控制手机的,这些库可以让你通过 Python 代码模拟鼠标、键盘操作,从而控制手机。你只需要搭建一个消息服务器,在手机操控端,像消息服务器发送操控指令,手机被操控端从消息服务器接收到操控指令,然后调用PyAutoGUI、pywinauto 等库的方法实现鼠标、键盘等操作。整个逻辑很简单,但是实现起来可能比较复杂,这里涉及到不同手机的分辨率的问题。
建议用现成的远程工具,自己开发一个,费时费力,效果还不好
可以用市场上已有的远程控制产品,比如向日葵,自己开发,难度大不说,还得解决公网IP问题,公网IP很贵的。不然离开了局域网直接没法用了
可以使用这个方法
1。在需要控制的手机上安装下载“airdroid”,并通过电子邮件登录。该软件可以在Android应用市场下载
2。在计算机上输入网站:htt p://网址:airdroid.com/三。你可以在这个网页上看到一个镜子,这个功能可以远程控制电脑
4。在此之前,您需要对手机执行一个无根操作
(1)输入手机设置→开发者选项→USB调试将其打开,然后单击“确定”以允许USB调试
无根操作
(2)用USB电缆连接手机和计算机,然后单击“airmirror”→我已将其设置为使用。此时,您将开始连接手机。连接成功后,可以使用电脑远程控制手机
import time
import adb
device = adb.adb_commands.AdbCommands().ConnectDevice()
device.Shell('monkey -p com.example.app -c android.intent.category.LAUNCHER 1', 5)
time.sleep(5)
device.Shell('input tap x y', 5)
device.Close()
为什么不用向日葵?那也是免费的。你开发出来也没人用。并且这种项目一般人也开发不了吧