http://www.cnblogs.com/wysk/p/7417122.html

1、ADB是什么?

ADB,即Android Debug Bridge,它是Android提供的一个通用的调试工具。借助这个工具可以很好的调试开发程序。它是客户端/服务端架构的命令工具,主要分三个部分:

(1)adb客户端:运行在我们的开发机器上

(2)adb 服务器:在开发机器后台运行的进程

(3)adb daemon(守护进程):一个以后台进程形式运行于模拟器或物理手机设备上的守护进程

2、安装

adb.exe在安装的android的sdk开发包platform-tools目录下 (我的网盘/工作软件和jia包/测试工具/稳定性测试)

安装好后,将其添加到path环境变量中,然后在命令控制台输入“adb help”,如果出现adb的版本和帮助信息,则表示可以成功执行了。

3、为了使用adb控制,调试的android设备,用户需要使用USB数据线将PC和android手机设备连接到一起,然后手机设备的USB的调式模式需要开启。

4、ADB常用命令 

* daemon not running; starting now at tcp:5037
* daemon started successfully

adb启动时会自动开启一个服务端进程,当服务端开启后,他会绑定本地的tcp端口5037,并且通过5037端口监听所有客户端发过来的命令。显示如上

1)adb devices

  通过该指令了解目前连接设备/模拟器的状态的相关信息

  状态信息包含以下3中不同的状态:

  a、device状态:这个状态表示设备或模拟器已经连接到adb服务器上

  b、offline状态:设备或模拟器没有连接到adb服务器上

  c、no device状态:表示没有物理设备或模拟器链接

2)adb install

  通过该指令是把测试的手机应用软件安装到连接的手机设备中

  也可以使用adb -s武力手机设备***/手机模拟设备*** install 安装包路径

   如:adb -s8ebcdcb9 install C:\Users\yunl....

  说明:

  a、重新安装需要将原先已安装的卸载

  b、如果不想卸载而是覆盖,就需要在安装路径前加 -r 参数

   c、如果同时连接了模拟器和手机设备,直接使用adb install就会报错

3)adb uninstall

   卸载已安装的应用, adb -s物理手机设备***/手机模拟器设备*** shell pm uninstall -k 已安装的应用包名

4)adb pull

  将手机上的文件传送到我们的电脑上,如adb pull /sdcard/error_fs.dat d:/

  adb push 电脑上文件发送到手机设备上

5)获取手机系统版本信息:adb shell getprop ro.build.version.release

6)获取手机Android系统各个分区的相关信息:adb shell df

7)获取设备***:adb get-serialno

8)获取模拟器/设备当前状态:adb get-state

9)查看和跟踪系统日志:adb logcat

  如果有多台,那么需要指定某一个设备执行adb –s 设备ID logcat

  保存日志:adb –s 设备ID logcat 跟路径,如:>Desktop\log.txt

10)启动adb服务 adb start-server

11)关闭adb服务 adb kill-server

12)将本机的端口重定向到手机设备或模拟器端口上 adb forward tcp: 2211 tcp:5566

13)查找安装的包名:adb shell pm list package

   过滤查询 adb shell pm list package | grep "android"

 

5、adb devices我常遇到的问题

  adb devices 通过该指令了解目前连接设备/模拟器的状态的相关信息

  但经常碰到的问题就是输入该命令,提示List   of  devices  attached

  解决如下:

  首先必须关闭所有关于360的相关进程,先执行 adb  start-server  启动adb服务  adb  kill-server,如果还不行可能是需要将设备id加入到adb_usb.ini中

  在计算机 设备管理器中---便携设备:必须使用USB连接

ADB命令

6、shell环境

Android本身就是一个linux环境,他有一个显著的特性就是命令行界面或者shell;shell环境使得用户能与操作系统的核心功能进行交互。下图是shell扮演的角色

ADB命令 

 

他就像是一个壳,作用于用户和操作系统(kernel)中间,负责将命令解析成操作系统可理解的低级语言,同时将操作系统的响应信息转换成用户可以理解的形式显示。

adb -d shell:直接进入当前usb连接的设备的shell环境

adb -e shell:直接进入当前模拟器设备的shell环境

 

 

相关文章: