Android 开发 -- 常用 ADB 命令介绍

关键字 :Android ADB

一、概述

ADB 的全称为 Android Debug Bridge,字面意思就是安卓调试桥,ADB 是一个“客户端-服务器端“的关联程序,其中客户端是你用来操作的电脑, 服务器端是 Android 设备。ADB 是 Android SDK 里的一个工具,用这个工具可以直接操作管理 Android 模拟器或者真实的 Andriod 设备。简单点说,它是 Android 系统提供的一套工具,通过它,我们可以在电脑上建立一个连接到手机的通道,然后可以在电脑上向手机发送一些指令,完成一些我们需要做的工作。

 

它的主要功能有:

1)运行设备的 shell (命令行)

2)管理模拟器或设备的端口映射

3)计算机和设备之间上传/下载文件

4)将本地 apk 软件安装至模拟器或 Android 设备


二、ADB 常用命令介绍

1. 查看设备: 查看当前连接的设备

命令:

adb devices

 

命令示例:



2. 查看 adb 版本

命令:

adb version

 

命令示例:

 

3. 安装 APK

命令:

adb install 

 

命令示例:

 
返回 Success 说明安装成功

还可加入如下参数:

参数

含义

-r

允许覆盖安装。

-s

将应用安装到 sdcard。

-d

允许降级覆盖安装。

 

4. 卸载软件

命令:

adb uninstall <包名>

 
命令示例:

如果卸载时包名错误会有如下提示:



可以使用如下命令,
列出手机装的所有 app 的包名: adb shell pm list packages
列出除了系统应用的第三方应用包名: adb shell pm list packages -3

因此,卸载此应用的命令应为:

如果加 -k 参数,为卸载软件但是保留配置和缓存文件

 

5. 登录设备 shell

命令:

adb shell

adb shell

 

命令示例:

 

登录设备的 shell,后面加 将是直接运行设备命令, 相当于执行远程命令

 

6. 从电脑上发送文件到设备

命令:

adb push <本地路径> <远程路径>

 

命令示例:

 

将电脑上的文件 D:\workspace\soc\NXP\iMX8\Android\image\GPS\gps.default.so 发送到设备 /data

 

7. 从设备上下载文件到电脑

命令:

adb pull <远程路径> <本地路径>

 

命令示例:

 

将设备中的文件 /data/gps.default.so 发送到电脑的 当前目录下

 

8. 显示帮助信息

命令:

adb help


命令示例:



9. 重新挂载

命令:

adb remount

 
命令示例:

重新挂载系统分区,用于读写

 

10. 启动和关闭 server

命令:

adb start-server

adb kill-server

 
命令示例:



没有错误提示说明执行成功


11. 重启设备

命令:

adb reboot                       重启设备

adb reboot recovery 重启设备到 Recovery 模式

adb reboot bootloader 重启设备到 Fastboot 模式

 

12. 查看 Android log

命令:

[adb] logcat [] ... [] ..

 

输出 log 到文件中:

adb logcat > log

  • -b 加载一个可使用的日志缓冲区供查看,比如 event 和 radio . 默认值是 main 。具体查看 Viewing Alternative Log Buffers.
  • -c 清除屏幕上的日志.
  • -d 输出日志到屏幕上.
  • -f 指定输出日志信息的 ,默认是 stdout .
  • -g 输出指定的日志缓冲区,输出后退出.
  • -n 设置日志的最大数目 .,默认值是 4,需要和 -r 选项一起使用。
  • -r 每 时输出日志,默认值为16,需要和 -f 选项一起使用.
  • -s 设置默认的过滤级别为
  • -v 设置日志输入格式,默认的是 brief 格式

 

常用用法列举如下:

  按级别过滤日志

 Android 的日志分为如下几个级别:

  • V —— Verbose(最低,输出得最多)
  • D —— Debug
  • I —— Info
  • W —— Warning
  • E —— Error
  • F —— Fatal
  • S —— Silent(最高,啥也不输出)

 

按某级别过滤日志则会将该级别及以上的日志输出。

命令:

adb logcat *:W


命令示例:

 

会将 Warning、Error、Fatal 和 Silent 日志输出。

 

tag 和级别过滤日志

命令:

adb logcat ActivityManager:I MyApp:D *:S

 

命令示例:

 

表示输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上级别日志,及其它 tag 的 Silent 级别日志(即屏蔽其它 tag 日志)。

 

③ 清空日志

命令:

adb logcat -c

 

13. 查看 Kernel log

命令:

adb shell dmesg

 

命令示例:

中括号里的 [1076.189766] 代表内核开始启动后的时间,单位为秒。

通过内核日志我们可以做一些事情,比如衡量内核启动时间。

 

14、查看bug报告

命令:

adb bugreport

 

15、模拟按键 / 输入

adb shell 里有个很实用的命令叫 input,通过它可以做一些有趣的事情。

input 命令的完整 help 信息如下:



比如使用 adb shell input keyevent 命令,不同的 keycode 能实现不同的功能,常用的按键如下:

keycode

含义

3

HOME 键

4

返回键

5

打开拨号应用

6

挂断电话

24

增加音量

25

降低音量

26

电源键

27

拍照(需要在相机应用里)

64

打开浏览器

82

菜单键

85

播放/暂停

86

停止播放

87

播放下一首

88

播放上一首

122

移动光标到行首或列表顶部

123

移动光标到行末或列表底部

126

恢复播放

127

暂停播放

164

静音

176

打开系统设置

187

切换应用

207

打开联系人

208

打开日历

209

打开音乐

210

打开计算器

220

降低屏幕亮度

221

提高屏幕亮度

223

系统休眠

224

点亮屏幕

231

打开语音助手

276

如果没有 wakelock 则让系统休眠


下面是 input 命令的一些用法举例。

 

电源键

命令:

adb shell input keyevent 26

执行效果相当于按电源键。

 

菜单键

命令:

adb shell input keyevent 82

 

HOME

命令:

adb shell input keyevent 3

 

返回键

命令:

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

 

滑动解锁

如果锁屏没有密码,是通过滑动手势解锁,那么可以通过 input swipe 来解锁。

命令(不同的设备对应的坐标可能会不同):

adb shell input swipe 300 1000 300 500

参数 300 1000 300 500 分别表示起始点x坐标 起始点y坐标 结束点x坐标 结束点y

 

输入文本

在焦点处于某文本框时,可以通过 input 命令来输入文本。

命令:

adb shell input text hello

 

三、参考文献

常用的 adb 命令
ADB 命令手册大全
ADB常用命令及其用法大全

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论