Appium+Python第二篇:常用的adb命令介绍

这篇博客详细介绍了ADB(Android Debug Bridge)的使用,包括查看设备状态、连接设备、安装与卸载应用等核心功能。同时列举了常见模拟器的默认端口号,并提供了诸如查看所有包名、推送和拉取文件等实用命令。通过ADB,开发者可以高效地管理和调试安卓设备及应用。

adb:安卓调试桥

adt:安卓调试工具

adb version:查看版本

在这里插入图片描述

adb devices:获取设备

devices状态:这个状态表示真机或者模拟器已经连接到了adb服务器上
offline状态:表示真机或者模拟器没有连接到adb服务器上
在这里插入图片描述

adb connect:连接设备

adb connect ip:端口

各模拟器端口号:

手机模拟器的名称默认端口号
Genymotion模拟器5555
夜神模拟器62001/52001
海马玩模拟器26944
mumu模拟器7555
天天模拟器6555
逍遥安卓模拟器21503
BlueStacks 蓝叠3模拟器5555
雷神安卓模拟器5555
腾讯手游助手5555

adb shell pm list packages:查看全部的包名

在这里插入图片描述

adb shell:进入手机终端

adb push:从本地推送文件到手机端

adb push 本地文件路径 手机文件路径

在这里插入图片描述
在这里插入图片描述
推送成功!

adb pull:从手机端拉取文件

在这里插入图片描述

adb install:安装包

adb install xxx.apk

adb uninstall:卸载安装包

adb uninstall com.xxx.xxx(包名)

安装和卸载需要从apk的本地文件夹进入cmd

Appium + Python的环境下进行截图,可以通过以下几种方法实现: 1. **使用Appium的截图功能**: Appium本身提供了截图功能,可以通过`driver.get_screenshot_as_file()`方法将截图保存到本地文件。 ```python from appium import webdriver desired_caps = { 'platformName': 'Android', 'deviceName': 'your_device_name', 'appPackage': 'your_app_package', 'appActivity': 'your_app_activity' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 进行一些操作 # ... # 截图 driver.get_screenshot_as_file('screenshot.png') # 关闭驱动 driver.quit() ``` 2. **使用Python的PIL库进行截图**: 如果需要更复杂的图像处理,可以使用PIL库。 ```python from appium import webdriver from PIL import Image import io desired_caps = { 'platformName': 'Android', 'deviceName': 'your_device_name', 'appPackage': 'your_app_package', 'appActivity': 'your_app_activity' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 进行一些操作 # ... # 获取截图的二进制数据 screenshot_binary = driver.get_screenshot_as_png() # 使用PIL打开截图 image = Image.open(io.BytesIO(screenshot_binary)) # 保存截图 image.save('screenshot.png') # 关闭驱动 driver.quit() ``` 3. **使用adb命令进行截图**: 如果需要通过adb命令进行截图,可以使用Python的`subprocess`模块。 ```python import subprocess # 截图并保存到本地 subprocess.run(['adb', 'exec-out', 'screencap', '-p', '>', 'screenshot.png'], shell=True) # 或者将截图保存到设备上,然后拉取到本地 subprocess.run(['adb', 'shell', 'screencap', '-p', '/sdcard/screenshot.png'], shell=True) subprocess.run(['adb', 'pull', '/sdcard/screenshot.png', './screenshot.png'], shell=True) subprocess.run(['adb', 'shell', 'rm', '/sdcard/screenshot.png'], shell=True) ``` 以上方法都可以实现截图功能,具体选择哪种方法可以根据实际需求和环境来决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值