adb(Android Debug Bridge)(一)
上一篇介绍的am,pm命令都是基于adb shell下的命令。这节来详细介绍下adb命令。
Android Debug Bridge(adb)是一个让你跟模拟器或者android设备通信的多功能命令。它是一个包含三个组件的client-server程序:
1、运行在你开发机器上的adb client,你能从shell中通过adb命令调用一个adb client,另外ADT插件和DDMS都是使用了adb client功能。
2、运行在你开发机器上的一个adb server,该adb server作用在于维护adb client和adb daemon之间的通信。
3、运行在模拟器或者android设备后台的adb daemon。
adb tool在<sdk>/platform-tools/目录下。
当你启动一个adb client的时候,adb client会去检查开发机器上是否已经运行了adb server进程,如果没有,它会去启动adb server。当adb server启动后,adb server绑定本地 TCP5037端口,然后监听从adb client发过来的adb命令。所有的adb client都是通过5037端口跟adb server通信。
adb server要跟所有运行在开发机器上的模拟器或者android设备建立连接。它通过扫描5555-5585之间的所有奇数端口查找模拟器或者android设备。adb server扫描到每个adb daemon都会建立跟其的相关端口的绑定。既然每个模拟器或者android设备都获取到一对有序的端口(一个偶数console连接端口和一个奇数adb连接端口)如下:Emulator1, console:5554 Emulator1, adb:5555;Emulator2, console:5556 Emulator2, adb:5557;依此类推。同样的,如果一个模拟器连接adb的商品为5555,那么连接console的端口就是5554。
当adb server跟模拟器或者android设备连接成功后,你就可以通过adb命令(或者脚本)去访问该模拟器或android设备。
注意:连接一个android4.2.2以上的android设备的时候,系统会通过一个对话框提示询问是否接受一个RSA密钥允许通过开发机器的调试。这种安全机制保护用户设备,让adb命令不能执行。除非你能解锁该android设备并确认询问对话框,当然,这在adb1.0.31以上的版本(SDK Platform-tools16.0.1以上)是可以实现的。
你可以在开发机器上的命令行或者脚本执行adb命令。如:
adb [-d|-e|-s <serialNumber>] <command>
如果你的开发机器上只运行了一个模拟器或者android设备,那么adb命令将默认发送到该模拟器或者android设备上执行。如果运行了多个模拟器或者android设备,那么你要使用-d,-e或者-s参数去指定执行adb命令的模拟器或者android设备。以下是相关参数或命令的用法:
-d :将adb命令指向唯一连接到开发机器上的android设备,如果开发机器上连接了多个android设备将返回提示错误。
-e :将adb命令指向唯一的模拟器。
-s <serialNumber>:将adb命令指向具体的android设备(如:emulator-5556)
devices :查询所有连接到开发机器上的android设备。
help :帮助命令。
version : 版本查询。
logcat [option] [filter-specs] :打印log信息。
jdwp :有效的JDWP进程列表。
install <path-to-apk> : 安装apk到指定的设备。
pull <remote> <local> :复制文件到开发机器上的指定位置。
push <local> <remote> :复制文件到指定的android设备。
adb(Android Debug Bridge)(一)的更多相关文章
- 用ADB(Android Debug Bridge)实时监测Android程序的运行
监控Android设备上程序的运行,需要ADB的配合,具体ADB工具的介绍以及命令选项可见博客: http://blog.csdn.net/mliubing2532/article/details ...
- adb ( Android Debug Bridge)
adb ( Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. adb工具的工 ...
- [ADB]ADB(Android Debug Bridge)简介及基础(不包含命令)
"Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an ...
- C语言基础课程 第三课 ADB(Android Debug Bridge)的使用
由于前面已经发布过Linux的博客了 基础班将Linux基础命令就不单独发表博客了,本节课主要就是利用adb连接手机进行一个Linux基本命令的复习.而且熟悉手机的底层运作,不用界面操作照样也能 ...
- adb Android Debug Bridge 安卓调试桥
adb devices 获取设备列表及设备状态 adb get-state 获取设备的状态,设备的状态有 3 钟,device , offline , unknown device:设备正常连接 of ...
- [ADB Shell]Android Debug Bridge常用命令
ADB用法 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important ...
- adb(android debug bridge)命令
adb(android debug bridge) adb devices --查看当前连接的模拟器/设备 adb remount --模拟器/设备重新启动,保证能用 adb push src des ...
- Android Debug Bridge
Android Debug Bridge Introduction Android Debug Bridge (adb) is a versatile command line tool th ...
- Android Debug Bridge命令介绍[转]
Android Debug Bridge命令介绍 Android Debug Bridge的一些基本命令.这个工具直译过来就是Android调试桥的意思.它提供了强大的特性,例如复制文件到设备或从设备 ...
随机推荐
- Smali语法简单介绍
Smali语言其实就是Davlik的寄存器语言: Smali语言就是android的应用程序.apk通过apktool反编译出来的都有一个smali文件夹,里面都是以.smali结尾的文件,文件的展示 ...
- /dev/rdsk 与 /dev/dsk区别
/dev/rdsk/c0t0d0s0 裸设备 /dev/dsk/c0t0d0s0 块设备 它们链接的是同一块物理设备,具体区别是在访问方式上. 裸设备是假设硬盘上没有文件系统时的访问方式. 裸设备是按 ...
- erlang debug
http://www.cnblogs.com/goldli/archive/2011/03/08/1976998.html erlang 模块文件 helloworld.erl 文件内容: -modu ...
- 常见 core dump 原因分析signal 11 - SIGSEGV
signal 6 - SIGABRT free 多次 char *p = malloc(100); free(p); free(p); fclose 多次 // fclose 内部调用 free FI ...
- 通过扩展jQuery UI Widget Factory实现手动调整Accordion高度
□ 实现Accordion高度一致 <head> <meta name="viewport" content="width=device-width&q ...
- 正确理解java编译时,运行时以及构建时这三个概念
Java中的许多对象(一般都是具有父子类关系的父类对象)在运行时都会出现两种类型:编译时类型和运行时类型,例如:Person person = new Student();这行代码将会生成一个pers ...
- Android定制争夺战 三大主流ROM横评
随着MIUI在广大“机油”们心目中位置的逐渐攀升,越来越多的厂商也相继推出了属于自己的定制Android ROM,想以此来抢占这一新兴市场,像点心OS.腾讯的Tita以及近期比较热门的百度云ROM等等 ...
- 分布式消息系统Kafka初步(一) (赞)
终于可以写kafka的文章了,Mina的相关文章我已经做了索引,在我的博客中置顶了,大家可以方便的找到.从这一篇开始分布式消息系统的入门. 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到 ...
- 《Java并发编程实战》第四章 对象的组合 读书笔记
一.设计线程安全的类 在设计线程安全类的过程中,须要包括下面三个基本要素: . 找出构成对象状态的全部变量. . 找出约束状态变量的不变性条件. . 建立对象状态的并发訪问管理策略. 分析对象的 ...
- 【PPT详解】曹欢欢:今日头条算法原理
[PPT详解]曹欢欢:今日头条算法原理 悟空智能科技 4月8日 公众号后台回复:“区块链”,获取区块链报告 公众号后台回复:“sq”,进入区块链分享社群 热文推荐: 1000位专家推荐,20本区块链必 ...