adb安装及命令总结
adb 全称为 Android Debug Bridge,是PC机与Android设备的连接桥。通过adb可使PC控制与之相连的Android设备。
首先如何安装adb:
windows用户下载windows_adb工具下载地址, 下载安成后直接安装即可。
linux用户下载linux_adb工具下载地址,具体安装步骤如下:
linux下adb工具的安装:
第一步:启动开发板,进入android系统后,在linux终端输入lsusb命令查询USB总线上的设备,比如我这里查询结果如下:
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 15a2:0c02 Freescale Semiconductor, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
可以看到,15a2即开发板的设备ID号。
第二步:下载最新的android SDK并解压到某目录,下载地址:
http://developer.android.com/sdk/index.html
截至目前最新的SDK为android-sdk_r12-linux_x86.tgz
解压出来的名称为android-sdk-linux_x86
进入下面目录:
cd android-sdk-linux_x86/tools/
./android update adb
第三步:修改~/.android/adb_usb.ini文件,注意,这时为root模式下的路径,在普通权限下,
是不存在该目录的。
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x15a2
第四步:创建一个新的udev规则的文件,在/etc/udev/rules.d路径下,新建名为imx-android.rules的文件,编辑内容如下:
SUBSYSTEM=="usb", SYSFS{idVendor}=="15a2", MODE="0666"
第五步:在/etc/bash.bashrc中声明adb的路径:
export PATH=/opt/program/mx53_smd/out/host/linux-x86/binPATH
然后
source /etc/bash.bashrc
第六步:重启ADB
adb kill-server
adb start-server
第七步:使用adb devices命令查找设备:
root@lqm:/opt/program/mx53_smd/out/host/linux-x86/bin# adb devices
List of devices attached
0123456789ABCDEF device
root@lqm:/opt/program/mx53_smd/out/host/linux-x86/bin#
至此,adb安装成功。
----------------------------------------adb命令-------------------------------------
1.显示当前运行的全部模拟器
adb devices
2.查看adb命令帮助信息
adb help
3.登录android设备shell
adb shell
adb shell <command命令>这个命令将登录设备的shell.
后面加<command命令>将是直接运行设备命令, 相当于执行远程命令
4.重启android设备
adb reboot 重新启动
adb reboot recovery 重新启动到recovery
adb reboot bootloader 重新启动到bootloader
5.安装指定目录软件
adb install <apk文件路径>
6.卸载指定目录软件
adb uninstall <软件名>
adb uninstall -k <软件名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件.
7.发送文件到android设备的指定目录下
adb push <本地路径> <android设备路径>
8.导出android设备指定目录下文件到本地
adb pull <android设备路径> <本地路径>
9.取得android设备root权限
adb remount
10.查看Log
adb logcat
每一个输出的Android日志信息都有一个标签和它的优先级.
日志的标签是系统部件原始信息的一个简要的标志。(比如:“View”就 是查看系统的标签).
优先级有下列集中,是按照从低到高顺利排列的:
V — Verbose (lowest priority)
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (highest priority, on which nothing is ever printed)
在运行logcat的时候在前两列的信息中你就可以看到logcat 的标签列表和优先级别,它是这样标出的:<priority>/<tag>.
这时顺便提下android的几种log
android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。
(1)、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");
(2)、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.
(3)、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息
(4)、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。
(5)、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。
Usage: logcat [options] [filterspecs]
options include:
-s 设置默认的过滤级别为silent.'
-f <filename> 指定输出日志信息的<filename> , 默认是stdout .
-r [<kbytes>] 每<kbytes> 时 输出日志,默认值为16,需要和-f 选 项一起使用.
-n <count> 设置日志的最大数目<count> ., 默认值是4,需要和 -r 选 项一起使用。
-v <format> 设置日志输入格式,默认的是brief 格 式,要知道更多的支持的格式,参看Controlling Log Output Format .
-c 清楚屏幕上的日志,输出后退出.
-d 输出日志到屏幕上,输出后退出.
-t <count> print only the most recent <count> lines (implies -d)
-g 输出指定的日志缓冲区,输出后退出.
-b <buffer> 加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers.
-B output the log in binary
filterspecs are a series of
<tag>[:priority]
where <tag> is a log component tag (or * for all) and priority is:
V Verbose
D Debug
I Info
W Warn
E Error
F Fatal
S Silent (supress all output)
例如:
adb logcat -v time -s SpecialCharSequenceMgr > /root/Desktop/log.txt
打印出 log 信息中时间,以及包含关键字 "SpecialCharSequenceMgr" 的所有 log到/root/Desktop/log.txt文件中
11.查看bug报告
adb bugreport
12.获取设备的ID和序列号
adb get-product
adb get-serialno
13.启动Activity
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)
14.发布端口
你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
15.获取android系统某一属性值
adb shell getprop persist.sys.***
16.设置android系统某一属性值
adb shell setprop persist.sys.*** value