Python + ADB 通信控制 MuMu 模拟器安卓系统
首先安装 MuMu 模拟器,会自带 adb.exe,因此不用额外安装 ADB,但需要手动配置一下环境变量。假设 MuMu模拟器 安装在 C 盘,则 abd.exe 路径为C:\Program Files\Netease\MuMu\nx_main\adb.exe,因此需要将如下路径加入环境变量:
C:\Program Files\Netease\MuMu\nx_main
重启之后可以打开 cmd 测试一下 adb 配置情况:
adb version
若显示类似如下信息:
Android Debug Bridge version 1.0.41
Version 36.0.0-13206524
Installed as C:\Program Files\Netease\MuMu\nx_main\adb.exe
Running on Windows 10.0.19043
则说明配置成功。之后开启一个安卓设备:

开机后,点击模拟器面板右上角,进入设置中心:

拉到设置中心界面最底端,展开 ADB 端口,记下当前被打开设备的 ADB 端口:

以当前为例,端口是 16384,然后用 Python 写如下脚本:
import time
import subprocess
PORT = 16384
subprocess.run(["adb", "connect", f"127.0.0.1:{PORT}"])
TEXT = "Hello World!"
CMD = ["adb", "-s", f"127.0.0.1:{PORT}", "shell", "input"]
while True:
subprocess.run(CMD + ["text", f'"{TEXT}"'])
time.sleep(3)
subprocess.run(CMD + ["tap", "470", "880"])
time.sleep(3)
其作用是往当前打开的安卓机页面内输入 "Hello World!" 文本,并在屏幕坐标 (470, 880) 的位置点击一下鼠标,用意在于模拟循环输入消息并点击发送。这样就实现了Python + ADB 通信控制 MuMu 模拟器安卓系统。当前只是个案例,实际上你要点击的发送按钮不一定是这个坐标,因此后续教程是进一步教你如何获取要点击位置的屏幕坐标,若您已掌握可跳过。

进入已经打开的安卓机,点击设置图标进入设置界面,拉到底端,点击“关于手机”:

再拉到关于手机界面的最底端,连续点击7次版本号进入开发者模式:

退回到设置界面,点击“系统”:

点击“开发者选项”

往下拉,找到“指针位置”并打开,屏幕顶端会显示出坐标刻度:

回到桌面,打开浏览器测试一下,假设要获取百度的搜索按钮坐标:鼠标按住要获取的位置,先不要松手,查看屏幕顶端的 X 和 Y 后面的值即为当前点的位置的横纵坐标,比如当前是 (462.1, 376.6)

将坐标值替换到之前的 Python 脚本中即可。

浙公网安备 33010602011771号