adb命令使用简介

  • 查询已连接设备/模拟器
    adb devices

  • 查看版本
    adb version

  • 查看进程
    adb shell ps

  • 查看应用列表的基本命令
    adb shell pm list packages

    参数显示列表
    所有应用
    -f显示应用关联的 apk 文件
    -d只显示 disabled 的应用
    -e只显示 enabled 的应用
    -s只显示系统应用
    -3只显示第三方应用
    -i显示应用的 installer
    -u包含已卸载应用
    <FILTER>包名包含 <FILTER> 字符串
  • 查找包名包含某字符串的应用
    adb shell pm list packages mazhuang

  • 查看前台 Activity(亲测不管用)
    adb shell dumpsys activity activities | grep mFocusedActivity

  • 查看应用详细信息
    adb shell dumpsys package

  • 调起 Activity(打开应用)
    adb shell am start [options]
    如:adb shell am start -n (packagename)/(activity)
    如:adb shell am start -n com.tencent.mm/.ui.LauncherUI

  • 发送广播
    adb shell am broadcast [options]
    如:adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

  • 模拟按键/输入
    adb shell input

    text <string> (Default: touchscreen)
    keyevent [--longpress] <key code number or name> ... (Default: keyboard)
    tap <x> <y> (Default: touchscreen)
    swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
    press (Default: trackball)
    roll <dx> <dy> (Default: trackball)
    

    例:

      adb shell input tab 980 900   //点击手机 x=980  y=900处
      adb shell input swipe 540 480 540 190  //手机向上滑动290像素
      adb shell input keyevent 4 //返回
      adb shell input text hello // 获取焦点的输入框 输入hello
    

    使用 adb shell input keyevent 命令,不同的 keycode 能实现不同的功能,完整的 keycode 列表详见 KeyEvent,摘引部分我觉得有意思的如下:

    keycode含义
    3HOME 键
    4返回键
    5打开拨号应用
    6挂断电话
    24增加音量
    25降低音量
    26电源键
    27拍照(需要在相机应用里)
    64打开浏览器
    82菜单键
    85播放/暂停
    86停止播放
    87播放下一首
    88播放上一首
    122移动光标到行首或列表顶部
    123移动光标到行末或列表底部
    126恢复播放
    127暂停播放
    164静音
    176打开系统设置
    187切换应用
    207打开联系人
    208打开日历
    209打开音乐
    210打开计算器
    220降低屏幕亮度
    221提高屏幕亮度
    223系统休眠
    224点亮屏幕
    231打开语音助手
    276如果没有 wakelock 则让系统休眠
  • 查看设备信息->型号
    adb shell getprop ro.product.model

  • 查看设备信息->电池状况
    adb shell dumpsys battery

  • 查看设备信息->屏幕分辨率
    adb shell wm size

  • 查看设备信息->密度
    adb shell wm density

  • 查看设备信息->Android 系统版本
    adb shell getprop ro.build.version.release

  • 查看设备信息->IP 地址(需要权限)
    adb shell ifconfig | grep Mask

  • 截图保存到电脑:
    adb exec-out screencap -p > sc.png

  • 日志相关:
    adb logcat //显示全部日志
    adb logcat > c:\test.log //将日志保存到文件test.log

  • 安装apk
    adb install test.apk -r 覆盖安装,保留数据和缓存文件 -d 解决低版本version问题 -s 安装apk到sd卡

  • 卸载apk
    adb uninstall -k <package_name>

  • 查看app的路径
    adb shell pm path <package_name>

  • 简单的monkey测试工具
    例:adb shell monkey -p -v 500 (随机测试500个随机事件)

Event percentages(事件百分比):

0:触摸事件百分比,参数–pct-touch

1:滑动事件百分比,参数–pct-motion

2:缩放事件百分比,参数–pct-pinchzoom

3:轨迹球事件百分比,参数–pct-trackball

4:屏幕旋转事件百分比,参数–pct-rotation

5:暂时不知道这个是什么

6:基本导航事件百分比,参数–pct-nav

7:主要导航事件百分比,参数–pct-majornav

8:系统事件百分比,参数–pct-syskeys

9:Activity启动事件百分比,参数–pct-appswitch

10:键盘翻转事件百分比,参数–pct-flip

11:其他事件百分比,参数–pct-anyevent

例:
adb shell monkey --throttle 3000 --pct-touch 50 -p com.tencent.news 1000
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定触屏的事件占比为50%。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Python中使用adb命令可以通过导入subprocess模块来实现。首先,你需要导入subprocess模块,然后使用subprocess.Popen()函数来执行adb命令。在这个函数中,你需要传入adb命令作为参数,并可以选择指定工作目录(cwd)。执行命令后,该函数将返回一个process对象,你可以使用该对象的stdout().read().decode()方法来获取执行adb命令的返回值。下面是一个示例代码,演示了如何使用adb命令获取设备序列号: ```python import subprocess def get_device_serial_no(): serialNo = \[\] resp = subprocess.Popen('adb devices', shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE).stdout.read().decode() deviceInfo = str(resp).strip().split('\r\n')\[1:\] for info in deviceInfo: serialNo.append(info.split('\t')\[0\]) return serialNo ``` 在上面的代码中,我们使用了subprocess.Popen()函数执行了adb devices命令,并将返回的结果保存在resp变量中。然后,我们对返回的结果进行处理,提取出设备序列号,并将其添加到serialNo列表中。最后,我们返回了serialNo列表作为结果。这样,你就可以通过调用get_device_serial_no()函数来获取设备的序列号了。 #### 引用[.reference_title] - *1* *2* [python 执行ADB命令(附源码)](https://blog.csdn.net/xgh1951/article/details/127282248)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马志武

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值