adb shell命令

这篇具有很好参考价值的文章主要介绍了adb shell命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

adb查看当前activity无效(adb查看所有应用包名)

前面给大家分享了Airtest,感兴趣的小伙伴,可以前往:手机自动化测试IDE—–Airtest实战篇、手机自动化测试IDE —– 手把手教你用Airtest模拟器来连接手机、手机自动化测试IDE—–Airtest基本操作方法、手机自动化测试IDE —– Airtest的安装和IDE控件详解,任君挑选。

前言

ADB,中文名安卓调试桥,它是一种功能多样的命令行工具,可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 ADB命令来从命令行终端调用客户端。

守护进程:在设备上运行命令。守护进程在每个设备上作为后台进程运行。

服务器:管理客户端和守护进程之间的通信。服务器在开发机器上作为后台进程运行。

通过这个命令行工具我们可以使用它来操作手机上的资源,而且不需要借助Android SDK就可以轻松操控手机里的应用。

一、工作原理

当您启动某个ADB客户端时,客户端会先检查是否有 ADB服务器进程正在运行。如果没有,它将启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 ADB 客户端发出的命令 – 所有 ADB客户端均通过端口 5037 与 ADB 服务器通信。

然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现ADB守护进程 (ADBD),便会与相应的端口建立连接。请注意,每个模拟器都使用一对按顺序排列的端口 – 用于控制台连接的偶数号端口和用于ADB 连接的奇数号端口。

二、下载ADB

这里小编已经给大家准备好了,下载地址:
https://u062.com/file/7715018-452566390,如果你想在任何文件目录使用ADB的话,必须把ADB的安装目录加入环境变量,然后我们可以使用ADB的界面工具,它可以很直观方便的执行ADB的命令并显示结果,这个工具就是APKInstaller,下载地址:https://u062.com/file/7715018-452566398,如图:

三、基本操作

1.设备的启动关闭操作

这里我选择连接模拟器,看看连接有什么区别。

1).连接设备

adb connect 127.0.0.1:62001#连接一个模拟器

2).启动服务

adb start-server#开启服务

3).查看设备

adb devices #查看设备信息
adb version #设备版本
adb help #帮助文档 
adb get-state #查看设备状态 device(正常连接),offline(连接异常),unknown(没有连接)
adb get-serialno #获取序列号
adb get-devpath #获取设备路径
adb shell cat /system/build.prop #获取设备名称

4).操作多个设备

adb —a 监听所有网络接口,而不仅仅是localhost
  -d 使用USB设备(如果多个设备连接错误)
  -e 使用TCP / IP设备(如果可用多个TCP / IP设备错误)
  -s 使用给定的序列号(覆盖ANDROID_SERIAL)
  -t 使用给定设备ID
  -h adb服务器主机名称(默认= localhost)
  -p adb服务器的端口(默认= 5037)
  -l 监听来自套接字的adb服务器(默认= tcp: localhost: 5037)
  例如:adb -s 127.0.0.1:62001 shell

这样我们呢就进入了模拟器的Shell界面了。

5).关闭服务

adb kill-server

6).设置监听TCP/IP的端口

adb tcpip 5555

7).断开连接

adb disconnect 127.0.0.1:62001

8).关机与重启

adb reboot #设备重启
adb shutdown #设备关机

9).Root权限

adb root   # 正常输出:restarting adbd as root
adb unroot # 取消root权限

10).刷机模式

adb reboot bootloader #重启到bootloader,即刷机模式
adb reboot recovery #重启到recovery,即恢复模式
adb sideload #更新系统

adb shell命令11).命令转载

adb wait-for-device # 在模拟器/设备连接之前把命令转载在adb的命令器中

2.设备应用操作

1).查看应用

adb shell pm list packages #所有应用
adb shell pm list package -f #
adb shell pm list packages -s #系统应用
adb shell pm list packages -3 #三方应用
adb shell pm list packages | findstr bluetooth #过滤应用  管道符进行搜索,Linux下使用grep

2).查看应用的Activity信息

adb shell dumpsys package com.android.bluetooth #查看系统应用蓝牙的包名信息
adb shell dumpsys activity activities #查看所有的活动程序包名
adb shell dumpsys activity | findstr mFocusedActivity #查看当前重启的是哪个包
adb shell dumpsys activity top | findstr activity #查找设备活动程序的父窗口

3).清除应用数据和缓存

adb shell pm clear

3.安装卸载应用

adb install D:/aa.apk #安装在电脑上的apk
adb install -r D:/aa.apk#覆盖安装 保留数据和缓存文件 -g 授予所有运行时权限
adb shell pm install /scard/picture#安装在手机上的apk
adb uninstall -k 包名
在模拟器或者真机中需要使用 -s来指定

4.日志

adb logcat#查看日志
adb logcat -v time #打印详情日志,会记录当前的所有操作行为以及产生的结果,默认持续监听,按下Ctrl+c即可结束
adb logcat -v time >D:log.txt #保存日志到电脑
adb logcat -f /sdcard/1.txt    #保存日志到手机
adb logcat | findstr com.android.bluetooth #保存指定包名的日志
adb logcat -c  #清除之前的日志输出
adb logcat | findstr ActivityManager  #查看当前正在运行的Activity
adb logcat | findstr Displayed        #查看当前正在运行的Activity
adb bugreport #查看bug报告
adb logcat -b radio #无线通讯的日志
adb shell dmesg #内核日志

5.设备文件操作

#把电脑上的文件传到手机储存卡中
adb push C:UsersAdministratorDesktop1.gif /sdcard/


#把手机存储卡里的文件传到电脑
adb pull /sdcard/1.gif C:UsersAdministratorDesktop

6.截屏,录屏

adb shell screencap /sdcard/1.png #当前窗口截屏保存到手机
adb shell /system/bin/screencap -p /sdcard/2.png
adb exec-out screencap -p >1.png #截图保存到电脑
adb shell screenrecord >1.mp4  #屏幕录像,Ctrl+c停止录制
--size #视频大小
--bit-rate #比特率
--time-limit #持续时间
--verbose #命令行显示log信息
注:模拟器和安卓4.4以下版本不支持录屏

7.Shell

Shell里有很多命令,我们简单列举下:

命令 功能
cat 显示文件内容
cd 切换目录
chmod 改变文件的存取模式/访问权限
df 查看磁盘空间使用情况
grep 过滤输出
kill 杀死指定 PID 的进程
ls 列举目录内容
mount 挂载目录的查看和管理
mv 移动或重命名文件
ps 查看正在运行的进程
rm 删除文件
top 查看进程的资源占用情况

1).进入退出

adb shell #进入shell 返回$ 则没有root权限  #有root权限
exit #退出shell

2).设备的相关信息

adb shell getprop ro.build.version.release #安卓系统版本
adb shell getprop ro.product.model #查看设备型号
adb shell cat /sys/class/net/wlan0/address #查看MAC地址
adb shell wm size #设备屏幕分辨率
adb shell wm size 400X654 #设置屏幕分辨率
adb shell wm size reset #恢复原屏幕分辨率
adb shell wm density #设备屏幕密度
adb shell wm density 100 #修改屏幕密度为100dpi
adb shell wm density reset #恢复原屏幕密度
adb shell wm overscan 10,20,30,100 #显示区域
adb shell wm overscan reset #恢复原显示区域
adb shell dumpsys window displays #显示屏参数
adb shell service list  #查看后台services信息
adb shell settings put global adb_enabled 0 #关闭 USB 调试模式
adb shell uiautomator dump   #获取当前界面的控件信息
adb shell ime list -s  #设备上的输入法

3).进程

adb shell ps #查看手机正在运行的进程 adb shell ps | findstr bluetooth 
adb shell ps -x pid #查看指定pid的进程状态信息
adb shell kill pid #根据进程号杀进程
adb shell procrank #杀进程 
adb shell start adbd #启动守护进程
adb shell stop adbd  #关闭守护进程

4).性能分析

adb shell cat /proc/cpuinfo #获取CPU序列号
adb shell cat /proc/meminfo #查看当前内存占用
adb shell cat /proc/iomem #查看IO内存分区
adb remount #将system分区重新挂载为可读写分区
adb shell dumpsys meminfo bluetooth #查看蓝牙占用的内存
adb shell dumpsys cpuinfo | findstr bluetooth #获取CPU
adb shell top #查看实时资源占用情况
adb shell top -n 1 | findstr bluetooth #刷新一次内存信息,然后返回蓝牙内存占用
adb shell top #查看设备cpu和内存占用情况
adb shell top -m 6 #查看占用内存前6的app
adb shell dumpsys gfxinfo bluetooth #获取流畅度相关
adb shell netcfg #查看设备的网络连接情况
adb shell ifconfig wlan0 #获取wlan0的IP地址和子网掩码

5).文件操作

adb shell命令

6).按键

adb shell input keyevent 3 # HOME 键
adb shell input keyevent 4 # 返回键
adb shell input keyevent 5 # 拨号
adb shell input keyevent 6 # 挂断
adb shell input keyevent 24 # 音量+
adb shell input keyevent 25 # 音量-
adb shell input keyevent 26 # 电源键
adb shell input keyevent 27 # 拍照
adb shell input keyevent 64 # 打开浏览器
adb shell input keyevent 82 # 菜单键
adb shell input keyevent 85 # 播放/暂停
adb shell input keyevent 86 # 停止播放
adb shell input keyevent 87 # 播放下一首
adb shell input keyevent 88 # 播放上一首
adb shell input keyevent 122 #移动光标到行首或列表顶部 
adb shell input keyevent 123 #移动光标到行尾或列表底部
adb shell input keyevent 126 # 恢复播放
adb shell input keyevent 127 # 暂停播放
adb shell input keyevent 164 # 静音 
adb shell input keyevent 176 # 打开系统设置 
adb shell input keyevent 187 # 切换应用
adb shell input keyevent 207 # 打开联系人 
adb shell input keyevent 208 # 打开日历
adb shell input keyevent 209 # 打开音乐
adb shell input keyevent 210 # 打开计算器 
adb shell input keyevent 220 # 降低屏幕亮度
adb shell input keyevent 221 # 提高屏幕亮度
adb shell input keyevent 223 # 休眠
adb shell input keyevent 224 # 点亮屏幕
adb shell input keyevent 231 # 打开语音助手
adb shell input keyevent 276 # 如果没有 wakelock 则让系统休眠

7).点击,滑动屏幕

adb shell input tap 100 300 #在(100,300)处点击
adb shell input swipe 100 1200 100 200 #上滑
adb shell input swipe 100 200 100 1200  #下滑

8).输入

adb shell input text hello  #输入hello

9).电池

adb shell dumpsys battery

10).设备ID

adb shell settings get secure android_id

11).无线网络

在操作前必须获得Root权限。

adb shell svc wifi enable  #开启WiFi
adb shell svc wifi disable #关闭WiFi

8.端口转发

adb forward tcp:60 tcp:70 #将60端口转到70端口
adb forward tcp:60 local:logd # 将60端口转到local:logd的转发

9.Activity 管理器

adb shell am start -n activity路径 #启动某一个activity
adb shell am start -a android.intent.action.VIEW -d www.baidu.com#启动默认浏览器打开一个网页
adb shell am start -n com.android.camera/.Camera #启动相机
adb shell am start -a android.intent.action.CALL -d tel:10086#启动拨号10086
adb shell am startservice -n 服务 #开启服务
adb shell am stopservice  服务 #停止服务
adb shell am force-stop bluetooth #杀死蓝牙进程
adb shell am kill 进程号  #杀掉进程
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED #向所有组件广播设备启动完毕

10.调用软件包管理器

adb shell pm list permissions #查看权限
adb shell pm list permission-groups #输出所有已知的权限组
adb shell pm list permissions -d -g -f #查看系统危险权限并按组输出所有信息
adb shell pm list instrumentation#列出所有测试软件包,-f列出测试软件包的APK文件
adb shell pm path com.android.bluetooth #查看软件安装路径
adb shell pm list features  #输出系统的所有功能
adb shell pm list libraries #输出当前设备支持的所有库
adb shell pm list users #输出系统中的所有用户
adb shell pm enable ** #启用给定的软件包或组件(写为“package/class”)
adb shell pm disable ** #停用给定的软件包或组件(写为“package/class”)
adb shell pm get-max-users #输出设备支持的最大用户数

11.备份

adb backup -all #备份所有数据

12.压力测试Monkey

格式:adb shell monkey -v -p your.package.name 500
adb shell monkey -v -p com.tencent.weishi 500

四、总结

以上就是ADB的全部内容了,通过对ADB的了解我相信大家应该能通过Python编程做一个简易版的自动化工具了,不再依靠Airtest。文章来源地址https://www.toymoban.com/news/detail-416892.html

到了这里,关于adb shell命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • adb shell下常见查看命令

    top查看进程信息 ls查看当前目录结构 ls -a 查看当前目录下所有文件 ps data 打印或设置当前系统时间 dumpsys 查看apk所在位置 pm list packages -f | grep apk包名 dumpsys package apk包名 查看栈顶activity dumpsys activity | grep “mFocusedActivity” dumpsys window | grep mCurrentFocus 查看window焦点的活动名称和

    2024年02月09日
    浏览(46)
  • 【Linux命令-shell】虚拟机中创建shell脚本、查看当前路径、执行脚本

    目录 一、创建shell脚本 二、查看当前的路径 三、执行脚本 一、创建shell脚本 shell脚本的特点 提前将可执行的命令语句写入一个文件中 顺序执行 解释器逐行解释代码 常见的脚本有:shell、python、PHP...... 注:用什么解释器就是什么脚本 编写shell脚本: 步骤: 1、新建文件 2、

    2024年02月05日
    浏览(69)
  • ADB命令查看应用包名

    查看所有包名 华为mate20鸿蒙系统抖音的包名为 com.ss.android.ugc.aweme 根据某个查找包 查看包安装位置 对包可以进行筛选 ADB命令查看应用包名 查看当前正在运行应用的包名 则会显示应用报名和当前应用的activity adb查看当前运行的应用的包名和Activity 使用ADB启动手机APP

    2024年02月12日
    浏览(48)
  • Android 通过adb命令查看应用流量

            通过adb shell ps -A  |  grep 包名  来获取app的 pid号         使用 adb shell cat /proc/#pid#/net/dev 命令 来获取流量数据 备注: Recevice: 表示收包 Transmit:  表示发包 bytes: 表示收发的字节数 packets: 表示收发正确的包量 errs: 表示收发错误的包量 drop: 表示收发丢弃的包量 wla

    2024年01月25日
    浏览(49)
  • 使用ADB命令查看手机已安装应用详细信息,包含应用名称

    最近有个需求需要获取手机上已安装应用列表,需要包含应用名称(非包名)、版本号、包名等信息,记录一下解决过程。 使用adb命令查看设备已安装应用列表很简单 但命令只能获取到应用包名 想要获取应用的详细信息需要使用以下命令 但查看输出发现,该命令可以获取到

    2024年02月15日
    浏览(56)
  • 查看linux 所有运行的应用和端口命令

    要查看 Linux 中所有运行的应用程序及其对应的端口,可以使用以下命令: 1. 使用 `netstat` 命令(已被弃用,建议使用 `ss` 命令): netstat -tuln 这会显示当前系统上所有打开的网络连接和监听的端口。其中,`-t` 表示显示 TCP 连接,`-u` 表示显示 UDP 连接,`-l` 表示显示监听状态

    2024年02月14日
    浏览(39)
  • adb 查看启动的app包名和activity

    2023年04月09日
    浏览(85)
  • adb shell 查看和修改电池信息

     命令: adb shell dumpsys battery Current Battery Service state: AC powered: false //false表示没使用AC电源 USB powered: true //true表示使用USB电源 Wireless powered: false       //false表示没使用无线电源 status: 2 //2表示电池正在充电,1表示没充电 health: 2 //2表示电池状态优秀 present: true    / /true表示已

    2024年02月08日
    浏览(67)
  • adb 查找应用包名,应用 Activity 等信息

    列出设备上的包 不使用参数:adb shell pm list packages,打印设备/模拟器上的所有软件包 根据包名查看应用的activity 命令: dumpsys package 包名 adb shell dumpsys package 包名 petrel-cv96d:/data/app # dumpsys package com.install.service.store Activity Resolver Table:   Non-Data Actions:       android.intent.actio

    2024年02月10日
    浏览(42)
  • adb shell settings高级指令设置系统属性所有的指令汇总+注释

    adb  shell  settings高级指令设置系统属性所有的指令汇总 目录 系统设置(system) 安全设置(secure) 全局设置(global) 删除设置 帮助 示例应用 屏幕超时时间 自动旋转屏幕 通知光 触觉反馈 动画缩放 定位服务 WiFi睡眠策略 安装非市场应用 NTP服务器 显示密度(DPI) 字体大小

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包