adb 命令介绍

参考:

http://jingyan.baidu.com/article/fcb5aff7f55c63edab4a7174.html

http://blog.csdn.net/manshq163com/article/details/7594709

http://blog.sina.com.cn/s/blog_91f9ff140101733o.html

1 安装adb

1.1 SDK自带:

adb工具在android-sdk/platform-tools/下,将该目录加入环境变量即可使用;

1.2 Ubuntu式安装:

sudo apt-get install android-tools-adb

 

2 adb常用命令:

2.1 安装软件 卸载软件

adb install <apk文件路径>

adb uninstall <软件名>

2.2 登录设备shell

adb shell        

adb shell <command命令>  这个命令将登录设备的shell. 后面加<command命令>将是直接运行设备命令, 相当于执行远程命令

adb -s 设备号 shell    多个设备时

2.3 从电脑上发送文件到设备

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

用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

2.4 从设备上下载文件到电脑

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

用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

2.5 取得设备root权限

adb remount 将system分区重新挂载为可读写分区

2.6  查看设备

 adb devices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

2.7 打日志

adb logcat

2.8 重定向

adb forward tcp:6100 tcp:7100

PC上所有6100端口通信数据将被重定向到手机端7100端口server上

adb forward <local> <remote>发布端口,可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:adb forward tcp:5555 tcp:8000

3.9 管理adb服务

adb kill-server 终止adb服务进程

adb start-server 重启adb服务进程

adb root 已root权限重启adb服务

3.10 管理设备

adb reboot 重启手机

3.11 返回bug日志中的所有信息

adb bugreport

3.12 查看JDWP信息

adb jdwp 查看指定的设施的可用的.

可以用 forward jdwp:<pid> 端口映射信息来连接指定的JDWP进程

 

3 adb高级命令:

3.1 查看设备连接状态 系列

adb get-serialno 获取设备的ID和序列号serialNumber

adb devices 查询当前计算机上连接那些设备(包括模拟器和手机),输出格式: [serialNumber] [state]

adb get-state 查看模拟器/设施的当前状态.

说明:

序列号[serialNumber]——由adb创建的一个字符串,这个字符串通过自己的控制端口<type>-<consolePort> 

唯一地识别一个模拟器/设备实例。一个序列号的例子: emulator-5554

3.2 发送命令到设备 系列

adb [-d|-e|-s <serialNumber>] <command>

-d 发送命令给usb连接的设备

-e 发送命令到模拟器设备

-s <serialNumber> 发送命令到指定设备

如启动手机设备shell: adb -d shell

3.3 安装卸载 系列

adb install d:\hello.apk

adb unstall com.huawei.hello

说明:如果带-r选项重新安装apk时,安装在 /data/local/tmp/目录下,手机重启后还是使用原来的apk.

3.4 基本linux shell命令 系列

adb shell [command]

ls 列出目录下的文件和文件夹

cd 切换目录

rm 删除目录和文件

cat 查看文件内容

ps 可以看那个进程再跑

ps -x [PID] 查看单个进程的状态

top 可以看那个进程的占用率最高

su 切换到root用户

kill [pid] 杀死一个进程

chmod 777 <file> 修改该文件为可执行权限 详细使用情况可以登录一台Linux服务器在shell下查看帮助手册, man <command>

adb shell am 命令可以启动应用程序

adb shell input text <string> 向设备输入文本(光标所在的文本框)

adb shell input keyevent <event_code> 向设备发送按键事件  event_code 参考view/KeyEvent.java中的 KEYCODE_*

3.5 查看系统状态和信息 系列

adb shell procrank 查询各进程内存使用情况

adb shell service list 查看services信息

adb shell cat /proc/meminfo 查看当前的内存情况

adb shell cat /proc/cpuinfo 查看CPU信息(硬件)

adb shell cat /proc/iomem 查看IO内存分区

adb shell getprop 列出系统所有属性

adb shell getprop | findstr "gsm" 列出包含gsm的属性

adb shell setprop <key> <value> 修改系统属性

adb shell sqlite3 可以执行sql语句查看数据库信息, 具体使用情况待调查

adb shell dmesg 查询内核缓冲区信息

adb shell dumpstate 各类信息,比如进程信息,内存信息,进程是否异常,kernnel的log等

adb shell dumpcrash

adb shell dumpsys 查询所有service的状态

3.6 Log 系列

adb logcat [ <filter-spec> ] - View device log

3.6.1 查看可用日志缓冲区:

adb logcat -b radio — 查看缓冲区的相关的信息.

adb logcat -b events — 查看和事件相关的的缓冲区.

adb logcat -b main — 查看主要的日志缓冲区

3.6.2 过滤日志输出:

过滤器语句按照下面的格式描tag:priority ... , tag 表示是标签, priority 是表示标签的报告的最低等级

adb logcat *:W 显示优先级为warning或更高的日志信息

adb logcat ActivityManager:I MyApp:D *:S

日志的标签是系统部件原始信息的一个简要的标志。(比如:“View”就是查看系统的标签).优先级有下列集中,是按照从低到高顺利排列的:

V — Verbose (lowest priority)

D — DebugI — Info

W — Warning

E — Error

F — Fatal

S — Silent (highest priority, on which nothing is ever printed)

如果你电脑上运行logcat ,相比在远程adbshell端,你还可以为环境变量ANDROID_LOG_TAGS :输入一个参数来设置默认的过滤

export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"

需要注意的是ANDROID_LOG_TAGS 过滤器如果通过远程shell运行logcat 或用adb shell logcat 来运行模拟器/设备不能输出日志.

3.6.3 控制日志输出格式:

日志信息包括了许多元数据域包括标签和优先级。可以修改日志的输出格式,所以可以显示出特定的元数据域。可以通过 -v 选项得到格式化输出日志的相关信息.

brief — Display priority/tag and PID of originating process (the default format).

process — Display PID only.

tag — Display the priority/tag only.

thread — Display process:thread and priority/tag only.

raw — Display the raw log message, with no other metadata fields.

time — Display the date, invocation time, priority/tag, and PID of the originating process.

long — Display all metadata fields and separate messages with a blank lines.

当启动了logcat ,你可以通过-v 选项来指定输出格式:[adb] logcat [-v <format>]

下面是用 thread 来产生的日志格式:  adb logcat -v thread  

需要注意的是你只能-v 选项来规定输出格式 option.

3.6.4 Logcat 选项列表

-b <buffer> 加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers.

-c 清楚屏幕上的日志.

-d 输出日志到屏幕上.

-f <filename> 指定输出日志信息的<filename> ,默认是stdout .

-g 输出指定的日志缓冲区,输出后退出.

-n <count> 设置日志的最大数目<count> .,默认值是4,需要和 -r 选项一起使用。

-r <kbytes> 每<kbytes> 时输出日志,默认值为16,需要和-f 选项一起使用.

-s 设置默认的过滤级别为silent.

-v <format> 设置日志输入格式,默认的是brief 格式,要知道更多的支持的格式,参看Controlling Log Output Format


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值