ADB 常用命令整理

1.查看adb进程
(1)Windows:adb shell ps|findstr “adbd”
(2)Linux: adb shell ps|grep “adbd”
2.adb 端口:5037
3.adb命令
(1)多设备管理
adb [-e|-d|-s<设备序列号>] <子命令>
(2)查看设备状态
adb devices
(3)获取设备状态
Adb get-state,设备有3种状态
①Device:设备正常连接
②Offline:连接出现异常,设备无响应
③Unkonwn:没有连接设备
(4)结束、启动服务
Adb kill-server/adb start-server
(5)打印系统日志
Adb logcat
(6)打印dumpsys、dumpstate、logcat的输出,用于分析错误、
Adb bugreport > 盘符:文件名
(7)安装应用
Adb install (-r 覆盖安装)
(8)卸载应用
Adb uninstall 包名
(9)复制Android设备上的文件或者文件夹到本地
Adb pull sdcard/name.txt d:
(10)推送文件到Android设备
Adb push d:\name.txt sdcard /
(11)重启设备
Adb reboot (recovery/bootloader)
(12)端口重定向
Adb forward tcp:端口号1 tcp:端口号2
(13)多终端连接
Adb connect IP:port
4.adb shell 命令
1.Pm(Package Manager)
(1)帮助信息获取
Adb shell pm
(2)列出安装在设备上的应用
Adb shell pm list package ,参数如下:
①-s,系统应用
②-3,第三方应用
③-f,列出应用报名以及对应apk名及存放位置
④-i,列出应用报名及其安装来源

2.Am
	(1)启动Activity
		①直接启动
			Adb shell am start -n activityName
		②先停止,后启动
			Adb she;l; am start -S activityName
		③等待应用完成启动
			Adb she;l; am start -W activityName
		④启动默认浏览器,打开网页
			adb shell am start -a android.intent.action.VIEW -d 	http://testerhome.com
		⑤启动拨号器拨打电话
			adb shell am start -a android.intent.action.CALL -d tel:10086 
	(2)启动instrument
		Adb shell instrument
	(3)监控crash 与ANR 
		Adb shell am monitor
	(4)结束应用
		Adb shell am force-stop packageName
3.Input
	(1)发送文本内容
		adb shell input text test123456
	(2)发送按键事件
		Adb shell input keyevent KEYCODE_HOME(KEYCODE_HOME=3)
	(3)发送一个触摸事件
		Adb shell input tap 500 500
	(4)发送滑动事件
		Adb shell input swipe 900 500 100 500
	(5)模拟长按时间
		Adb shell input swipe 500 500 501 501 2000
4.Screencap
	截屏保存至sdcard目录
	Adb shell screen -p /sccard/screen.png
5.Screenrecord(执行命令后操作手机,ctrl+c结束录制,录制结果保存至sdcard)
	Adb shell screenrecord sdcard/record.mp4
6.Ime
	① 列出设备上的输入法
		Adb shell ime list -s 
	② 选择输入法
		Adb shell ime set com.baidu.input_huawei/.ImeService
7.获取设备分辨率
Adb shell wm size
8.Monkey
	(1)基本语法
		Adb shell monkey [options] <event-count>
	(2)命令选项
	①-p 
	允许的报名列表,同时可指定多个包名,每个包都需要使用该参数指定。
	②--ignore-crashes
	忽视应用crash报错,不指定该参数时,应用出现crash,monkey会自动停止发送事件。指定后,monkey会在crash后一直发送时间,直到所有时间发送完成
	③--ignore-timeouts
	忽视超时导致的错误,即ANR的错误
	④--ignore-security-exceptions
	忽视权限方面的错误
	⑤--monitor-native-crashes
	监控由C/C++代码引起的crash
	⑥--ignore-native-crashes
	忽视由C/C++代码引起的crash
	⑦--kill-process-after-error
	当出现错误后杀掉应用的进程
	⑧--hprof
	指定该选项后,monkey会在发送时间完成后生成性能报告,报告一般存放于/data/misc目录下。对报告的分析,需要使用TraceView
	⑨--pct-touch
	设定touch事件比立
	⑩--pct-motion
	设定手势时间比例,例如滑动事件
	⑪--pct-trackball
	设定跟踪球事情的比例
	⑫--pct-syskeys
	设定系统按键事件的比例,例如 Home、Back、音量+/-等
	⑬--pct-nav
	设定“基本”导航事件比例
	⑭--pct-majornav
	主要导航时间比例
	⑮--pct-appswitch
	设定启动Activity的事件比例
	⑯--pct-pinchzoom
	设定缩放事件比例
	⑰--pct-anyevent
	设定其他事件比例
	⑱-s
	设定种子数,用于重现bug
	⑲-v
	设定输出信息的详细级别,1个-v 表示级别为1,以此类推
	⑳--throttle
	设定时间之间的延时,单位为毫秒
	21COUNT
	事件数目
<think>好的,我现在需要帮助用户查找ADB命令的常用用法和示例。用户之前询问过黑盒测试的相关内容,现在转向ADB命令,可能是在进行移动应用测试时需要用到这些工具。首先,我要确认用户的需求是什么。他们提到了“常用adb命令的示例和用法”,所以需要重点整理那些最常用、最基础的命令,并给出实际例子,让用户能够快速上手。 接下来,我需要参考用户提供的三个引用内容。引用1详细说明了ADB的工作原理,包括adb server、client和adbd的交互,这对理解命令执行机制有帮助,但用户当前更关注的是具体命令的使用,所以这部分可能只需要简要提及。引用2和引用3列举了一些具体的命令,比如安装应用、指定设备等,这些都是用户需要的核心内容。 用户可能是一位测试人员或开发者,需要在实际工作中快速查找命令,因此回答的结构要清晰,分门别类,便于查阅。同时,用户可能希望了解每个命令的实际应用场景,比如调试、安装、文件管理、日志查看等,因此需要将命令按功能分类,并给出示例。 我需要确保覆盖用户提到的常用命令,比如安装应用、设备管理、文件操作、日志查看、屏幕截图、应用管理等。同时,补充一些高级但常用的命令,比如无线调试、端口转发等,可能对用户有帮助。此外,用户可能对某些参数不太清楚,比如-d、-e、-s的区别,需要明确说明。 需要注意的是,用户提供的引用中有重复内容,比如安装命令的不同参数,需要整合到同一个类别下,避免冗余。同时,错误处理也是一个重要部分,比如命令执行失败的可能原因,可以简要提及,帮助用户排查问题。 最后,要确保回答符合之前设定的格式要求:使用中文,行内数学表达式用$...$,独立公式用$$...$$,但在这个问题中可能数学公式较少,主要集中在代码块和命令示例上。同时,生成相关问题,帮助用户进一步探索,比如性能分析、复杂场景命令、无线调试等。</think>--- ### ADB常用命令及示例详解 --- #### 一、ADB运行原理概述 ADB(Android Debug Bridge)通过**客户端-服务器架构**实现设备与PC的通信: 1. **PC端**:`adb client`发送命令 → `adb server`转发 → 手机端`adbd`守护进程执行[^1] 2. **核心组件**: - `adb client`:开发者直接操作的命令行工具 - `adb server`:后台进程管理设备连接 - `adbd`:Android设备端服务进程 --- #### 二、设备管理命令 ##### 1. **查看已连接设备** ```bash adb devices ``` **输出示例**: ``` List of devices attached emulator-5554 device ABCD12345678 unauthorized ``` - `unauthorized`表示设备未授权USB调试[^3] ##### 2. **指定设备执行命令** 多设备连接时使用`-s`参数: ```bash adb -s emulator-5554 shell ``` --- #### 三、应用管理命令 ##### 1. **安装/卸载应用** ```bash # 普通安装(覆盖安装加 -r) adb install app-debug.apk # 安装到SD卡(需应用支持) adb install -s app-debug.apk # 卸载应用(需包名) adb uninstall com.example.myapp ``` ##### 2. **应用调试命令** ```bash # 查看前台Activity adb shell dumpsys window | grep mCurrentFocus # 强制停止应用 adb shell am force-stop com.example.myapp ``` --- #### 四、文件操作命令 ##### 1. **文件传输** ```bash # PC→设备 adb push local.txt /sdcard/ # 设备→PC adb pull /sdcard/remote.txt ~/Downloads/ ``` ##### 2. **设备文件管理** ```bash # 进入shell环境 adb shell # 查看目录(需设备有root权限) adb shell ls /system/app ``` --- #### 五、调试分析命令 ##### 1. **日志查看** ```bash # 实时过滤ERROR级别日志 adb logcat *:E # 按TAG过滤日志 adb logcat -s MyAppTag ``` ##### 2. **性能分析** ```bash # 查看CPU占用 adb shell top -n 1 # 内存分析 adb shell dumpsys meminfo com.example.myapp ``` --- #### 六、高级功能命令 ##### 1. **屏幕操作** ```bash # 截图并导出到PC adb shell screencap -p /sdcard/screen.png adb pull /sdcard/screen.png # 屏幕录制(Android 4.4+) adb shell screenrecord /sdcard/demo.mp4 ``` ##### 2. **无线调试** ```bash # 切换到无线连接 adb tcpip 5555 adb connect 192.168.1.100:5555 ``` --- #### 七、典型应用场景 | 场景 | 命令示例 | |---------------------|--------------------------------------------------------------------------| | 批量安装测试APK | `for apk in *.apk; do adb install $apk; done` | | 清除应用数据 | `adb shell pm clear com.example.myapp` | | 模拟按键事件 | `adb shell input keyevent KEYCODE_HOME` | | 端口转发调试 | `adb reverse tcp:8080 tcp:8080`(将设备8080端口映射到PC)[^2] | --- #### 八、参数速查表 | 参数 | 作用 | 示例 | |------|------------------------|---------------------------| | `-d` | 指定唯一连接的USB设备 | `adb -d install app.apk` | | `-e` | 指定模拟器 | `adb -e logcat` | | `-p` | 指定包名 | `adb shell pm path -p com.example` | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值