一、设备相关
1、连接Android设备
adb connect 设备名
adb connet 127.0.0.1:5555 # 连接雷电模拟器
2、获取Android设备名
adb devices # 显示连接到计算机的设备
打开UC开发者工具,能获取到设备名显示到界面上相应介绍
3、获取设备ID和序列号serialNumber
adb get-serialno
4、重启设备
adb reboot
5、关闭设备
adb shell reboot -p
二、APP相关
-
查看安卓内核版本号
adb shell getprop ro.build.version.release
-
获取连接的设备名
adb devices -l 中model查看
-
获取指定设备第三方包名
adb -s 设备名 shell pm list packages -3
-
获取包名
adb shell pm list packages -s # 列出系统apk包名 adb shell pm list packages -3 # 列出用户第三方包名 adb shell pm list packages -f # 列出用户apk路径以及包名
-
获取前台应用包名
adb shell dumpsys window w|findstr \/|findstr name= adb shell dumpsys activity | findstr “mResume”
-
获取计算机本地apk包名类名
aapt dump badging (apk path)
-
启动APP
adb shell am start -n 包名/类名
-
清除APP的数据和缓存
adb shell pm clear 包名
-
安装卸载apk
adb install xxx.apk adb install -r xxx.apk # 保留数据和缓存文件,重新安装apk adb uninstall 包名 adb uninstall -k 包名 # 卸载app但保留数据和缓存文件
-
点击坐标
adb shell input tap x轴坐标 y轴坐标
三、adb相关
-
获取截图
adb shell screencap -p /sdcard/screen.png adb pull /sdcard/screen.png D:/app_text/screen
-
从手机拉取信息到本地
adb pull
-
从本地推送信息到手机
adb push
-
打印日志
adb logcat
-
启动关闭adb
adb start-server adb kill-server
四、Python调用adb
import os
def get_devicename():
'''
获取设备
:return:已连接设备号列表
'''
device_list = []
# 获取设备 命令
cmd = "adb devices"
# 执行
try:
content = os.popen(cmd).read()
# 设备信息列表获取
con_list = content.split()
# 根据列表长度,动态匹配取出设备号
b = len(con_list) - 5 if len(con_list) == 6 else len(con_list) - 6
for i in range(b):
device = con_list[4 + 2 * i]
device_list.append(device)
if device_list:
print(u"获取连接的设备成功:{}".format(device_list))
return device_list
else:
print(u"获取连接的设备失败,请检查连接后重试!")
return None
except Exception as e:
print(u"获取连接的设备失败,稍后请重试!%s" % e)
return None
import os
def get_platform():
'''
获取设备版本号
:return:已连接设备的版本号
'''
# 系统版本号
cmd = 'adb shell getprop ro.build.version.release'
try:
content = os.popen(cmd).read()
platform = content if content else 10.0
print(u"获取设备版本号成功:{}".format(platform))
return platform
except:
print(u"获取设备版本号失败,稍后请重试!")
raise
import os
def get_product_model():
'''
获取设备型号
:return:
'''
# 设备型号
cmd = 'adb shell getprop ro.product.model'
try:
content = os.popen(cmd).read()
model = content
print(u"获取设备版本号成功:{}".format(model))
return model
except:
print(u"获取设备型号失败,稍后请重试!")
import os
def get_activity():
'''
获取正在运行的应用的报名和启动名
:return:pakage,activity
'''
cmd = 'adb shell dumpsys window | findstr mCurrentFocus'
try:
content = os.popen(cmd).read()
content=content.split()[-1].replace("}","")
pakage = content.split("/")[0]
activity = content.split("/")[1]
print(u"获取包名和应用启动名:{}".format(content))
return pakage,activity
except:
print(u"获取报名失败,稍后请重试!")