adb 操作命令集合

什么是 adb 命令?

adb 工具即 Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。在某些特殊的情况下进入不了系统,adb 就派上用场啦!

源码传送地址

分类命令

ADB Debugging

  • adb devices
    主要是用于打印当前连接的所有模拟器或者设备。


  • adb forward
    端口映射,将 PC 端的某端口数据重定向到手机端的一个端口。

adb forward <local> <remote>

  • adb kill-server
    终止 adb 进程。

adb kill-server

Wireless

  • adb connect
    无限调试必备命令,需要保证设备和 PC 在同一局域网内,所以可通过远程桌面达到远程调试的结果。

adb connect <host>[:<port>]

需要保证设备的 /system/build.prop 文件中有命令 service.adb.tcp.port=5555,否则会遭到拒绝。

此处安利一下无限调试设置方法:

  1. 打开设备的调试模式,允许 USB 以 MTP 模式传输,确保设备和 PC 能正常连接,可以通过 adb shell 或者 adb devices 等进行验证。
  2. 确保已连接后,依次执行以下命令:
    adb root
    adb remount
    adb pull /system/build.prop ./
  3. 在 adb 命令执行的文件夹下的 build.prop 中加入命令 service.adb.tcp.port=5555
  4. 执行 adb push ./build.prop /system/ 后重启设备
    结束后断开 USB 连接线,输入 adb connect 设备IP:5555 确认可以正常连接。
  • adb usb
    设置设备以 USB 形式连接 PC。

Package Manager

  • adb install
    主要用于往 Android 设备 push 应用。

adb install [option] <path>

其中的 option 也是比较有讲究的,下面就只说最常用的。

  • adb install test.apk 直接安装应用
  • adb install -r test.apk 替代存在的应用,不会删除应用数据,用于更新应用特别方便。

其余的不是很常用的就不多提了,感兴趣的可以自行了解。

  • adb uninstall
    从设备或者模拟器卸载应用。

adb uninstall [options] <package>

两种情况,假设我们的应用 APP 包名是 com.example.application

adb uninstall com.example.application 直接删除应用和所有数据
adb uninstall -k com.example.application 删除应用,但会保留应用数据和缓存数据。

  • adb shell pm list packages
    打印设备下面的所有应用包名。

adb shell pm list packages [options] <FiLTER>

其他的过滤方式和限定条件这里也不举例了。

  • adb shell pm path
    打印 apk 的路径。

adb shell pm path <package>

  • adb shell pm clear
    清除应用缓存。

adb shell pm clear <package>

File Manager

  • adb pull
    从 Android 设备下载文件到 PC。

adb pull <remote> [local]

其中 <remote> 代表文件在设备中的地址,[local] 代表存放目录。

  • adb push
    把 PC 的文件存放到 Android 设备。

adb push <local> <remote>

  • adb shell ls
    列出目录内容。

adb shell ls [options] <directory>

  • adb shell cd
    和一般的 PC 的 cd 差不多,主要用于切换目录。

adb shell cd <directory>

  • adb shell rm
    删除文件或者目录

adb shell rm [options] <file or directory>

  • adb shell mkdir
    创建一个文件夹

adb shell mkdir [options] <directory name>

  • adb shell touch
    创建一个新文件或者改变文件修改时间

adb shell touch [options] <file>

  • adb shell pwd
    定位当前的操作位置

adb shell pwd

  • adb shell cp
    字面意思,很好理解,复制。

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

  • adb shell mv
    移动或者更名文件

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

Network

  • adb shell netstat
    主要用于网络统计。

  • adb shell ping
    没啥好说的,和 PC 的 ping 命令一样的。

  • adb shell netcfg
    通过配置文件配置和管理网络连接。

adb shell netcfg [<interface> {dhcp|up|down}]

  • adb shell ip
    主要用于显示一些数据

adb shell ip [OPTIONS] OBJECT

Logcat

  • adb logcat
    打印日志文件。

adb logcat [options] [filter-specs]

当然可以像 Android Studio 一样只打印固定的日志

adb logcat *:V lowest priority, filter to only show Verbose level
adb logcat *:D filter to only show Debug level
adb logcat *:I filter to only show Info level
adb logcat *:W filter to only show Warning level
adb logcat *:E filter to only show Error level
adb logcat *:F filter to only show Fatal level
adb logcat *:S Silent, highest priority, on which nothing is ever printed

adb logcat -b <Buffer>

adb logcat -b radio View the buffer that contains radio/telephony related messages.
adb logcat -b event View the buffer containing events-related messages.
adb logcat -b main default
adb logcat -c Clears the entire log and exits.
adb logcat -d Dumps the log to the screen and exits.
adb logcat -f test.logs Writes log message output to test.logs .
adb logcat -g Prints the size of the specified log buffer and exits.
adb logcat -n <count> *Sets the maximum number of rotated logs to <count>. *

  • adb shell dumpsys
    获取系统数据。

adb shell dumpsys [options]

其中有个非常好用的是,当你在新接触一个项目的时候,不熟悉项目流程,此时正好可以用这个直接定位到你的 Activity 位置。

adb shell dumpsys activity activities

如图,直接在打印出来内容的后半段找到了当前 Activity 的定位,是 NewLoginActivity

  • adb shell dumpstate
    和命令直译差不多,dumps state。

Screenshot

  • adb shell screencap
    一般的手机都有截图功能(一般下拉菜单中有),但不代表所有 Android 设备都在可视化中开启了这个功能,所以这时候这个 adb 命令就显得特别重要。

adb shell screencap <filename>

结合前面的 pull 命令,就可以让我们轻松拿到屏幕截图。

adb shell screencap /sdcard/test.png 截图存放
adb pull /sdcard/test.png 取到 PC 当前文件夹

  • adb shell screencord
    有了屏幕截图,自然也得有屏幕录制,可惜这个必须在 Android 4.4 (API level 19) 以上才可使用。

adb shell screencord /sdcard/test.mp4

这个还可以对大小 size 和 时间做限制,感兴趣的可以自行了解。

System

  • adb root
    获取 root 权限。

  • adb sideload

  • adb shell ps
    打印进程状态。

  • adb shell top
    展现上层 CPU 进程信息。

  • adb shell getprop
    获取 Android 系统服务属性

  • adb shell setprop
    设置服务属性。

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