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