Android命令行使用
Android命令行使用
一、常用命令格式
adb 命令的基本语法如下:
adb [-d|-e|-s <serialNumber>] <command>
如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s <serialNumber>]
这一部分,直接使用 adb <command>
。
为命令指定目标设备
如果有多个设备/模拟器连接,则需要为命令指定目标设备。
参数 | 含义 |
---|---|
-d | 指定当前唯一通过 USB 连接的 Android 设备为命令目标 |
-e | 指定当前唯一运行的模拟器为命令目标 |
-s <serialNumber> |
指定相应 serialNumber 号的设备/模拟器为命令目标 |
在多个设备/模拟器连接的情况下较常用的是 -s <serialNumber>
参数,serialNumber 可以通过 adb devices
命令获取。如:
$ adb devices
List of devices attached
cf264b8f device
emulator-5554 device
10.129.164.6:5555 device
输出里的 cf264b8f
、emulator-5554
和 10.129.164.6:5555
即为 serialNumber。
比如这时想指定 cf264b8f
这个设备来运行 adb 命令获取屏幕分辨率:
adb -s cf264b8f shell wm size
又如想给 10.129.164.6:5555
这个设备安装应用(这种形式的 serialNumber 格式为 <IP>:<Port>
,一般为无线连接的设备或 Genymotion 等第三方 Android 模拟器):
adb -s 10.129.164.6:5555 install test.apk
遇到多设备/模拟器的情况均使用这几个参数为命令指定目标设备
二、adb命令
-
查看连接设备
$ adb devices -
安装软件
$adb install <路径>
如果需要强制安装(应用已存在,强制安装新应用)
$adb install -r <路径> -
卸载软件
$adb uninstall <软件包名> -
查看设备日志
$adb logcat
清除设备日志
$adb logcat -c
将设备日志输出到本地文件
$adb logcat -v time > <文件路径> -
查看屏幕分辨率
$adb shell wm size -
查看屏幕密度
$adb shell wm density -
推送文件到设备
$adb push <本地文件路径> <设备文件路径> -
推送设备文件到本地
$adb pull <设备文件路径,如:/data/anr> <本地路径,如:D:,若不写则到当前路径> -
远程连接设备
$adb connect <IP地址> -
获取序列号
$adb get-serialno -
重启设备
$adb reboot -
重启设备进入bootloader,即刷机模式
$adb reboot bootloader -
重启设备进入recovery,即恢复模式
$adb reboot recovery -
查看设备CPU和内存占用情况
$adb shell top -
查看进程列表
$adb shell ps -
杀死一个进程
$adb shell kill <pid进程号> -
system分区重新挂载为可读写分区
$adb remount -
清除应用数据与缓存
$adb shell pm clear <packagename> -
模拟键值输入
$adb shell input keyevent <键值ID>
keycode | 含义 |
---|---|
3 | HOME 键 |
4 | 返回键 |
24 | 增加音量 |
25 | 降低音量 |
-
模拟滑动
$adb shell input swipe <起始X> <起始Y> <结束X> <结束Y> -
模拟输入
$adb shell input text <输入文字> -
内核日志
$adb shell dmesg
三、Android Shell命令
-
am命令
1.1 启动应用/ 调起 Activity
$adb shell am start -n <包名>/<类名>
1.2 调起 Service
$adb shell am startservice -n <包名>/<类名>
1.3 发送广播
$adb shell am broadcast -a <action> -
dumpsys命令
2.1 查看前台 Activity
$adb shell dumpsys activity activities | grep mFocusedActivity
2.2 查看正在运行的 Services
$adb shell dumpsys activity services [<packagename部分或全部名称>]
2.3 查看应用详细信息
$adb shell dumpsys package <packagename>
-
pm命令
3.1 列出设备上面的应用
$adb shell pm list package
可以带参数 -s(系统应用),-3(第三方应用),-f(列出包名及位置),-i(列出包名及来源)
3.2 清除应用数据与缓存
$adb shell pm clear <packagename> -
截图录屏命令
$adb shell screencap -p <SD路径>
$adb shell screenrecord <SD路径>
$adb exec-out screencap -p > <本地文件路径> -
获取当前界面控件信息
$adb shell uiautomator dump -
查看文件夹大小
$df -sh -
查看所有文件夹大小
$df -m (-k)
四、Linux命令
Linux命令需要在adb shell后进入设备后执行,或者和adb shell 一起执行,常见的命令有:cat、cd、chmod、cp、date、df、du、grep、kill、ln、ls、lsof、netstat、ping、ps、rm、rmdir、top、touch、重定向符号 ">" ">>"、管道 "|"
命令 | 功能 |
---|---|
cat | 显示文件内容 |
cd | 切换目录 |
chmod | 改变文件的存取模式/访问权限 |
cp | 复制文件 |
df | 查看磁盘空间使用情况 |
grep | 过滤输出 |
kill | 杀死指定 PID 的进程 |
ls | 列举目录内容 |
mount | 挂载目录的查看和管理 |
mv | 移动或重命名文件 |
ps | 查看正在运行的进程 |
rm | 删除文件 |
top | 查看进程的资源占用情况 |
sync | 同步更新 |
du | 查看文件夹大小 |