Adb
wifi连接调试 adb connect {ip}
如果你不想用usb连接调试,可以选择使用adb 连接调试,命令是 adb connect {ip}
,需要在同一个局域网内。这个功能也比较实用,但首次连接时,需要另外一些配置,建议可以网上搜索下adb wifi连接手机
等关键字看看。
屏幕截屏 screencap -p {图片存储地址}
这个其实直接通过手机截屏再发送到电脑就可以了,但我开发的是TV应用,在盒子上没法截屏,所以这个命令对我来说还是较实用的。
获取或推送文件 adb pull/push
这个也挺实用的,获取手机指定位置的文件到电脑上,或者从电脑发送文件到手机上
模拟按键事件
//这条命令相当于按了设备的Back key键
adb shell input keyevent 4
//可以解锁屏幕
adb shell input keyevent 82
//在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)
adb shell input swipe 50 250 250 250 500
手机分辨率一般为1080*1920
,其中左上角为(0,0),右下角为(1080*1920
),还可以增加一个参数为持续时间
//在屏幕上点击坐标点x=50 y=250的位置。
adb shell input tap 50 250
//输入字符abc
adb shell input text abc
事件介绍
代码演示都是在进入
adb shell
模式下
input swipe模拟的是滑动事件 , 如左滑:input swipe 600 800 300 800
可以输入文本的文本框之类的控件上输入出 OuyangPeng 字符串: input text OuyangPeng
input tap命令模拟触摸屏幕input tap 600 800
input keyevent用法:
1 | input keyevent 3 // Home |
功能
adb 启动应用:
adb shell am start -n packgage名 /.activity
如 adb shell am start -n com.android.calculator2/.Calculator
提醒点:一定要找到、找对activity和package
长时间按某个元素:adb input shell …
adb -s 4d0041be98b01f shell input touchscreen swipe 540 716 545 718 1000
语义:-s 后跟设备号,swipe 先传移动坐标范围‘540 716 545 718’,然后1000是长按时间,单位毫秒。
Python语句调用:
os.system
(只有执行命令是否成功的结果)
1 | import os |
os.popen
(可读取执行语句的结果)
1 | import os |
subprocess.call
1 | import subprocess |
subprocess.Popen
(也是一个执行系统命令的工具,但这边效果不太好)
1 | import subprocess |
附录
event值记录
Author: Mrli
Link: https://nymrli.top/2019/02/06/Python-adb操作手机/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.