ADB命令指南

1.ADB与Shell命令

1.1查看设备

列出设备及其id

adb devices

使用特定设备操作

adb -s device_id

例如:连接了多台设备,需要连接指定设备进行操作

adb -s 47db0de20304 shell

1.2 重启

正常重启

adb reboot

重启到bootloader(刷机模式)

adb reboot bootloader

重启到recovery(恢复模式)

adb reboot recovery

1.3查看版本设备

查看adb版本信息

adb version

查看设备型号

adb shell getprop ro.product.model

获取设备序列号

adb get-serialno

获取bug报告

adb bugreport

查看日志

adb logcat

查看屏幕分辨率

adb shell wm size

查看屏幕密度

adb shell wm density

查看系统内容使用情况

adb shell cat /proc/meminfo

1.4 包管理

指定绝对路径,把一个Android应用程序安装到一个虚拟机/设备。

adb install [option] 

重新安装应用,保留数据和缓存文件

adb install -r [option] 

将应用安装到SD卡上,而不是内部存储卡

adb install -s [option] 

忽略版本号安装APK,正常情况下新应用的版本号需要大于已安装应用的版本号,否则在重启应用之后会恢复回旧版本

adb install -d [option] 

从设备上卸载应用

adb uninstall [options] 

在保留应用数据和缓存文件夹的前提下卸载应用。

adb uninstall -k [options] 

打印所有包名

adb shell pm list packages

打印对应包名的apk应用路径

adb shell pm path 

清除对应包名应用的所有数据(文件数据与缓存)

adb shell pm clear 

通过主界面入口调起应用

adb shell am start 

例如:

adb shell am start com.android.test/com.android.test.MainActivity

强制停止应用

adb shell am force -stop 

使用adb发送广播

adb shell am broadcast [-a ] [-d ]

例如模拟开机广播发送

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

使用adb抓取Hprof文件,用于分析内存问题时使用,dump的文件路径一般配置在‘/data/local/tmp/‘目录下

adb shell am dumpheap  

1.5 文件管理

从设备下载指定文件到电脑

adb pull  [local]

示例:

adb pull /sdcard/demo.mp4 e:\

指定一个文件从电脑传输到设备

adb push  

示例

adb push d:\test.apk /sdcard

打印文件目录下的内容

adb shell ls
cd .. #回到上一层目录
cd / #回到根目录

删除文件或文件夹

adb shell rm [options] 

创建文件夹

adb shell mkdir

打印当前所处的工作目录

adb shell pwd

拷贝文件或目录

adb shell cp [options]  

示例:

adb shell
cp /sdcard/test.txt  /sdcard/demo.txt

移动或重命名文件

adb shell mv [options]  

示例:

mv /sdcard/tmp  /system/tmp   #文件夹移动
mv /sdcard/tmp  /sdcard/test #重命名

解压文件

adb shell unzip 

示例

unzip /sdcard/test.zip -d /sdcard/tmp/

在控制台查看文件内容

adb shell cat 

1.6 网络管理

测试网络连接情况

adb shell ping [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]

示例

ping www.google.com

网络连接参数查看及管理

adb shell netcfg

1.7 日志管理

在屏幕打印日志信息

adb logcat [option] [filter-specs]

示例:

adb logcat #直接在窗口打印日志信息
adb logcat *:V #打印最低优先级的日志
adb logcat *:D #过滤打印Debug级别日志
adb logcat *:S #过滤打印最高优先级日志

查看缓存日信息日志

adb logcat -b main

清空所有日志信息并退出

adb logcat -c

输出所有日志到窗口并退出

adb logcat -d

输出日志信息流到”test.logs“文件

adb logcat -f test.logs

打印系统数据

adb shell dumpsys [options]

打印系统所有内存相关信息

adb shell dumpsys meminfo

打印指定包名应用的内存信息

adb shell dumpsys meminfo 

打印电量相关信息

adb shell dumpsys battery

打印系统Activity相关信息

adb shell dumpsys activity

同理包含intents、broadcasts,providers、permissions、services、activities、processes等

查看手机中当前界面是哪个Activity

adb shell dumpsys activity top | grep ACTIVITY
adb -d shell dumpsys activity activities | grep mResumedActivity

1.8 截屏处理

获取一个设备屏幕的截屏

adb shell screencap 

示例

adb shell screencap /sdcard/screen.png #截屏并保存到“/sdcard/screen.png“路径:
adb pull /sdcard/screen.png #把截屏图片下载到电脑端:

获取一个设备的录屏

adb shell screenrecord [options] 

示例:

adb shell screenrecord /sdcard/demo.mp4 #录屏并保存到”/sdcard/demo.mp4“文件,使用Ctrl-C终止录屏
adb pull /sdcard/demo.mp4 #从设备下载录屏文件到电脑

1.9 按键/输入模拟

模拟同步的按键或输入操作

adb shell input keyevent 
$adb shell input keyevent 26  #电源键
$adb shell input keyevent 82  #菜单键
$adb shell input keyevent 3  #HOME 键
$adb shell input keyevent 4 #返回键
$adb shell input keyevent 24 #增加音量
$adb shell input keyevent 25 #降低音量
$adb shell input keyevent 164 #静音
$adb shell input keyevent 85  #播放/暂停
$adb shell input keyevent 86 #停止播放
$adb shell input keyevent 87 #播放下一首
$adb shell input keyevent 88 #播放上一首
$adb shell input keyevent 126 #恢复播放
$adb shell input keyevent 127 #暂停播放
$adb shell input keyevent 224 #点亮屏幕
$adb shell input keyevent 223 #熄灭屏幕
$adb shell input swipe 300 1000 300 500  #滑动解锁,向上滑动手势解锁
#参数 300 1000 300 500 分别表示起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标 
$adb shell input text hello #焦点处于某文本框时输入文本

1.10 进程管理

列出进程列表及其pid

adb shell ps

杀死指定pid的进程

adb shell kill pid

查看指定进程信息

adb shell ps -x pid

你可能感兴趣的:(ADB命令指南)