adb——Android的ADB工具使用

一、定义与作用:

ADB全称Android Debug Bridge, 就是起到调试桥的作用。是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备,默认情况下当我们运行Eclipse时adb进程就会自动运行。当然我们也可以在外部使用本身自带的一些命令,进行操控模拟器或者真实的设备。adb一般位于<sdk>/platform-tools/目录下,其中<sdk>是android sdk的安装目录。它的主要功能有:

(1)快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
(2)在设备上运行Shell命令;
(3)管理设备或手机模拟器上的预定端口;

(4)在设备或手机模拟器上复制或粘贴文件。

二、配置环境变量:

    1,打开环境变量配置窗口。右击计算机,属性-高级系统设置-环境变量。

      2.下面你可以建一个单独的变量,也可以直接在path后面直接追加,主要是个人习惯吧。要注意的是一定要指定目录为:D:\Android\Android-sdks\tools。这是我的目录

      3.编辑成功运行的结果如下图:

三、代码的使用

1、

adb version           版本信息 

C:\Users\Administrator>adb version
Android Debug Bridge version 1.0.31

2、

安装与卸载应用
可以通过install命令来从development computer安装一个应用到emulator/device上。
usage: adb install <path_of_apk>

通过uninstall命令可以卸载已经安装的软件。
1.usage: adb uninstall name-of-app-package
其中name-of-app-package是/data/data目录下的安装包。

2.手动删除

adb shell
cd /data/app
rm app.apk

3、

.复制文件

可以使用adb pull ,push 命令将文件复制到一个模拟器/设备实例的数据文件或是从数据文件中复制。install 命令只将一个apk文件复制到一个特定的位置,与其不同的是,pull 和 push 命令可让用户复制任意的目录和文件到一个模拟器/设备实例的任何位置。

从模拟器或者设备中复制文件或目录,使用如下命:

adb pull <remote> <local>

将文件或目录复制到模拟器或者设备,使用如下命令:

adb push <local> <remote>

在这些命令中, <local> 和<remote> 分别指通向自己的发展机(本地)和模拟器/设备实例(远程)上的目标文件/目录的路径

下面是一个例子::

adb push foo.txt /sdcard/foo.txt

4、

 从电脑上发送文件到设备
  adb push <本地路径> <远程路径>
  用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

5、

从设备上下载文件到电脑
  adb pull <远程路径> <本地路径>
  用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

6、

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

7、adb logcat 使用logcat命令

8、

过滤日志输出

每一个输出的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)

9、

控制日志输出格式

日志信息包括了许多元数据域包括标签和优先级。可以修改日志的输出格式,所以可以显示出特定的元数据域。可以通过 -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.

10、

启动shell命令

Adb 提供了shell端,通过shell端你可以在模拟器或设备上运行各种命令。这些命令以2进制的形式保存在本地的模拟器或设备的文件系统中:

/system/bin/...

不管你是否完全进入到模拟器/设备的adb远程shell端,你都能 shell 命令来执行命令.

当没有完全进入到远程shell的时候,这样使用shell 命令来执行一条命令:

adb [-d|-e|-s {<serialNumber>}] shell <shellCommand>

在模拟器/设备中不用远程shell端时,这样使用shell 命 :

adb [-d|-e|-s {<serialNumber>}] shell

通过操作CTRL+D 或exit 就可以退出shell远程连接.

下面一些就将告诉你更多的关于shell命令的知识.

adb 命令表

下列表格列出了adb支持的所有命令,并对它们的意义和使用方法做了说明.


Category


Command


Description


Comments


Options


-d


仅仅通过USB接口来管理abd


如果不只是用USB接口来管理则返回错误


-e


仅仅通过模拟器实例来管理adb


如果不是仅仅通过模拟器实例管理则返回错误


-s <serialNumber>


通过模拟器/设备的允许命令号码来发送命令来管理adb (如“emulator-5556″)


如果没有指定号码,则会报错


General


devices


查看所有连接模拟器/设备的设施的清单


查看 Querying for Emulator/Device Instances 获取更多相关信息


help


查看adb所支持的所有命令


version


查看adb的版本序列号


Debug


logcat [<option>] [<filter-specs>]


将日志数据输出到屏幕上


bugreport


查看bug的报告,如dumpsys ,dumpstate ,和logcat 信息


jdwp


查看指定设施的可用的JDWP信息


可以用 forward jdwp:<pid>端口映射信息来连接指定的JDWP进程,例如:
adb forward tcp:8000 jdwp:472
jdb -attach localhost:8000


Data


install <path-to-apk>


安装Android为(可以模拟器/设施的数据文件.apk指定完整的路径)


pull <remote> <local>


将指定的文件从模拟器/设施拷贝到计算机上


push <local> <remote>


将指定的文件从计算机上拷贝到模拟器/设备中


Ports and Networking


forward <local> <remote>


用本地指定的端口通过Socket方法远程连接模拟器/设施


端口需要描述下列信息:

  • tcp:<portnum>
  • local:<UNIX domain socket name>
  • dev:<character device name>
  • jdwp:<pid>

ppp <tty> [parm]…


通过USB运行ppp:

  • <tty> — the tty for PPP stream. For exampledev:/dev/omap_csmi_ttyl.
  • [parm]… &mdash zero or more PPP/PPPD options, such as defaultroute ,local , notty , etc.

需要提醒的不能自动启动PDP连接


Scripting


get-serialno


查看adb实例的序列号


查看 Querying for Emulator/Device Instances 可以获得更多信息


get-state


查看模拟器/设施的当前状态


wait-for-device


如果设备不联机就不让执行,也就是实例状态是 device 时


可以提前把命令转载在adb的命令器中,在命令器中的命令在模拟器/设备连接之前是不会执行其他命令的,示例如下:

adb wait-for-device shell getprop

需要提醒的是,这些命令在所有的系统启动起来之前是不会启动adb的,所以在所有的系统启动起来之前也不能执行其他的命令,例如,运用install 的时候就需要Android包,这些包需要系统完全启动,例如:

adb wait-for-device install <app>.apk

上面的命令只有连接上了模拟器/设备连接上了adb服务才会被执行,而在Android系统完全启动前执行就会有错误发生


Server


start-server


选择服务是否启动adb服务进程


kill-server


终止adb服务进程


Shell


shell


通过远程Shell命令来控制模拟器/设备实例


查看获取更多信息 for more information


shell [<shellCommand>]


连接模拟器/设施执行Shell命令,执行完毕后退出远程Shell端l

时间: 2024-10-14 20:15:50

adb——Android的ADB工具使用的相关文章

Kivy a to Z -- 一个简单的通过adb同步Android系统文件的工具

来兴趣时写了些Kivy的代码,调试却总感觉不是很方便.直接打包到public.mp3的方式太繁锁,用文件共享的软件又发现没有一个好用的, 用samba filesharing本来也只是慢,但是更新的版本之后就一直提示说wifi没有tethering,意思是wifi热点没有打开,但是打开了还是提示没有tethering. 找了个叫什么卓*力的文件管理器,下载了samba插件后输入用户名和密码死活不对,被搞得实在恼火,花了点时间写了个通过adb同步安卓文件的工具,用着也挺爽的. 事件为什么总是要搞得

ubuntu 14.04 64位使用google官方android开发集成工具adt-64位无法使用adb

在使用ubuntu64位(14.04)时,下载来一个adt-bundle-linux-x86_64-20131030.zip,但是运行时报错: Android: Gradle: Execution failed for task Cannot run program android-studio/sdk/build-tools/android-4.2.2/aapt error=2, 没有那个文件或目录 使用aapt编译资源时报错, 提示找不到aapt这个命令, 可是在sdk中命名存在这个可执行文

Android使用adb工具及root权限完成手机抓包

1.环境准备/注意: 手机要求已经root. 首先需要配置JDK环境变量,这里主要讲解抓包,JDK环境变量配置跳过. 将包内附带的adb.zip解压到C盘根目录.  整个操作过程都需要用手机用数据线连接电脑. 点击运行,打开cmd窗口,运行cd至adb目录 然后把tcpdump程序 发布至手机上 adb push c:/tcpdump /data/local 输入命令进入手机 abc shell su 手机上出现是否信任允许控制,点信任 给发布到手机/data/local/目录下的tcpdump

转:Android 调试桥(adb)是多种用途的工具

转自:http://my.oschina.net/xuwa/blog/1574 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备实例发送命令 安装软件 转发端口 从模拟器/设备中拷入或拷出文件 A

Android 调试桥(adb)是多种用途的工具

Android 调试桥 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备实例发送命令 安装软件 转发端口 从模拟器/设备中拷入或拷出文件 Adb命令列表 启动shell命令 通过远程shell端运

【Android】SDK工具学习 - adb

ADB(Android Debug Bridge) 小白笔记 学习资料 adb简要介绍 adb 是一个 C/S 架构的命令行工具,主要由 3 部分组成: 运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装.卸载及调试 运行在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接 运行在 Android 设备上的 adb 后台进程 ADT/SDK Tools目录下的DDMS.Monitor等工具,都是同样地用到了 adb 的功

android SDK adb命令入门学习

[基本介绍] 在学习android过程中,经常需要用到adb命令.ADB全称Android Debug Bridge,是android sdk里的一个工具, ADB是一个"客户端-服务器端"程序,其中客户端就是操作的的电脑,服务器端是android设备,包括实体机器戒者虚拟机.用这个命令可以直接操作管理android模拟器或者真实的andriod设备 它的主要功能有: *运行设备的shell(命令行) * 管理模拟器戒设备的端口映射 * 计算机和设备之间上传/下载文件 * 将本地apk

Android常用adb命令总结

Android 常用 adb 命令总结 首发个人博客 http://xuxu1988.com/2015/05/15/android-adb-commands , 转载请注明出处. 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中. Android Debug Bridge adb 其实就是 Android Debug Bridge, Android 调试桥

Android常用adb命令总结(一)

ADB是android sdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的andriod设备. ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备. 它的主要功能有: 运行设备的shell(命令行) 管理模拟器或设备的端口映射 计算机和设备之间上传/下载文件 将本地apk软件安装至模拟器或android设备 adb 其实就是 Android Debug Bridge, Android 调试桥的缩写,adb 是一个 C/S 架构的