自动化篇 | 聊聊 ADB
# 映射端口
adb tcpip 端口号
# 通过 IP 地址连接
adb connect 设备IP
# 获取应用的包名和入口 Activity
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' --color=always
# 滑动,直接使用起始坐标更方便
adb shell input swipe 开始x坐标 开始y坐标 结束x坐标 结束y坐标 滑动时长
# 上传图片到设备
adb push 文件本地路径 设备路径
# 手机下载到PC端
adb pull 文件在设备上的路径 PC端本地路径
# 生成当前界面的UI元素树
adb shell uiautomator dump /data/local/tmp/uidump.xml
# 清除应用App缓存数据
adb shell pm clear
# 方式一:(适用于大部分应用,但是打不开手淘App)
os.popen('adb shell am start -n %s/%s' % (package_name, activity_name))
# 方式二:
os.popen('adb shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n %s/%s' % ( package_name, activity_name))
# 方式三:
os.popen('adb shell am start %s/%s' % (package_name, activity_name))
元素获取的方法也有 3 种。
方法一:是直接使用 adb 命令拿到当前界面的 UI 树,进而查找元素的 ID 或者文本属性。
方式一只适合分析简单的界面,分析复杂的界面元素定位就没有那么直观了。
6、常用问题
adb 常见的问题包含:设备找不到或者设备连接不上。
请先确认手机开发者模式和 USB 模式开启,PC 端的 ADB 环境配置成功。
最后,试试断开所有连接或者重启设备。
# 断开所有连接
adb disconnect
# 重启手机
adb reboot
# 查看设备
adb devices
赞 (0)