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] <path>

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

adb install -r [option] <path>

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

adb install -s [option] <path>

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

adb install -d [option] <path>

从设备上卸载应用

adb uninstall [options] <PACKAGE>

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

adb uninstall -k [options] <PACKAGE>

打印所有包名

adb shell pm list packages

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

adb shell pm path <PACKAGE>

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

adb shell pm clear <PACKAGE>

通过主界面入口调起应用

adb shell am start <package/package.xxxActivity>

例如:

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

强制停止应用

adb shell am force -stop <package>

使用adb发送广播

adb shell am broadcast [-a <ACTION>] [-d <DATA_URI>]

例如模拟开机广播发送

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

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

adb shell am dumpheap <package> <filePath.prof>

1.5 文件管理

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

adb pull <remote> [local]

示例:

adb pull /sdcard/demo.mp4 e:\

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

adb push <local> <remote>

示例

adb push d:\test.apk /sdcard

打印文件目录下的内容

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

删除文件或文件夹

adb shell rm [options] <files or directory>

创建文件夹

adb shell mkdir

打印当前所处的工作目录

adb shell pwd

拷贝文件或目录

adb shell cp [options] <source> <dest>

示例:

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

移动或重命名文件

adb shell mv [options] <source> <dest>

示例:

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

解压文件

adb shell unzip <zip file>

示例

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

在控制台查看文件内容

adb shell cat <file>

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 <package>

打印电量相关信息

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 <filename>

示例

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

获取一个设备的录屏

adb shell screenrecord [options] <filename>

示例:

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

1.9 按键/输入模拟

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

adb shell input keyevent <keycode>
$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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,841评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,415评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,904评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,051评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,055评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,255评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,729评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,377评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,517评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,420评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,467评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,144评论 3 317
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,735评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,812评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,029评论 1 256
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,528评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,126评论 2 341

推荐阅读更多精彩内容