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

输出里的 cf264b8femulator-555410.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命令

  1. 查看连接设备
    $ adb devices

  2. 安装软件
    $adb install <路径>
    如果需要强制安装(应用已存在,强制安装新应用)
    $adb install -r <路径>

  3. 卸载软件
    $adb uninstall <软件包名>

  4. 查看设备日志
    $adb logcat
    清除设备日志
    $adb logcat -c
    将设备日志输出到本地文件
    $adb logcat -v time > <文件路径>

  5. 查看屏幕分辨率
    $adb shell wm size

  6. 查看屏幕密度
    $adb shell wm density

  7. 推送文件到设备
    $adb push <本地文件路径> <设备文件路径>

  8. 推送设备文件到本地
    $adb pull <设备文件路径,如:/data/anr> <本地路径,如:D:,若不写则到当前路径>

  9. 远程连接设备
    $adb connect <IP地址>

  10. 获取序列号
    $adb get-serialno

  11. 重启设备
    $adb reboot

  12. 重启设备进入bootloader,即刷机模式
    $adb reboot bootloader

  13. 重启设备进入recovery,即恢复模式
    $adb reboot recovery

  14. 查看设备CPU和内存占用情况
    $adb shell top

  15. 查看进程列表
    $adb shell ps

  16. 杀死一个进程
    $adb shell kill <pid进程号>

  17. system分区重新挂载为可读写分区
    $adb remount

  18. 清除应用数据与缓存
    $adb shell pm clear <packagename>

  19. 模拟键值输入
    $adb shell input keyevent <键值ID>

keycode 含义
3 HOME 键
4 返回键
24 增加音量
25 降低音量
  1. 模拟滑动
    $adb shell input swipe <起始X> <起始Y> <结束X> <结束Y>

  2. 模拟输入
    $adb shell input text <输入文字>

  3. 内核日志
    $adb shell dmesg

三、Android Shell命令

  1. 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>

  2. 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>

  1. pm命令
    3.1 列出设备上面的应用
    $adb shell pm list package
    可以带参数 -s(系统应用),-3(第三方应用),-f(列出包名及位置),-i(列出包名及来源)
    3.2 清除应用数据与缓存
    $adb shell pm clear <packagename>

  2. 截图录屏命令
    $adb shell screencap -p <SD路径>
    $adb shell screenrecord <SD路径>
    $adb exec-out screencap -p > <本地文件路径>

  3. 获取当前界面控件信息
    $adb shell uiautomator dump

  4. 查看文件夹大小
    $df -sh

  5. 查看所有文件夹大小
    $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 查看文件夹大小

推荐阅读更多精彩内容

  • Android开发中我们有时候需要借助一些命令帮助更好的高效率定位解决问题,本文就来介绍一些可能有些隐藏的而却非常...
    passiontim阅读 964评论 0 4
  • 烟花三月下扬州。扬州小小的,京杭大运河两旁,垂柳依依,是氤氲的青绿色烟雾。瘦西湖窄窄瘦瘦,个园小巧宜人,处处透着秀...
    青青苔阅读 401评论 0 1
  • 《白夜追凶》是继今年追完《我的前半生》后,再次深陷其中的好剧。 如今第一季已完结,何止是意犹未尽。简直有太多太多疑...
    氧气旧时光阅读 249评论 1 0
  • 一天的时间其实转瞬即逝,特别是当你是在8点以后醒来。起床、早餐、洗漱收拾一番,拉拉杂杂的处理一些小事,当你真正想做...
    UncleColor阅读 50评论 0 0
  • 今天下班啦?我们八个人装了11万多。最后装了两车朱标的货。我们都很小心。。。脚底下垫纸板 该棚的时候光着脚上去的...
  • 今天去方庄培训,晚上两点睡早上六点起,so培训的时候特别的困,听到新同事们谈论传销洗脑的事情,发现原来大家刚来的时...
    小刘碎碎念阅读 72评论 0 0