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在/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 ] 如果你的开发机器上只运行了一个模拟器或者android设备,那么adb命令将默认发送到该模拟器或者android设备上执行。如果运行了多个模拟器或者android设备,那么你要使用-d,-e或者-s参数去指定执行adb命令的模拟器或者android设备。以下是相关参数或命令的用法:

-d :将adb命令指向唯一连接到开发机器上的android设备,如果开发机器上连接了多个android设备将返回提示错误。

-e :将adb命令指向唯一的模拟器。

-s :将adb命令指向具体的android设备(如:emulator-5556)

devices :查询所有连接到开发机器上的android设备。

help :帮助命令。

version : 版本查询。

logcat [option] [filter-specs] :打印log信息。

jdwp :有效的JDWP进程列表。

install : 安装apk到指定的设备。

pull :复制文件到开发机器上的指定位置。

push :复制文件到指定的android设备

android模拟器 bridge,ADB (Android Debug Bridge)简介相关推荐

  1. android 模拟器 ddms,4 Android 模拟器 DDMS 和ADB.ppt

    4Android模拟器DDMS和ADBppt课件 Android 模拟器.DDMS 和ADB 北京大学信息学院 郭炜 本讲义部分引用了自 网上下载的可能是哈尔滨工程大学教师编写的讲义 Android ...

  2. android模拟器bo,在 Android 模拟器中安装 busybox

    在Android模拟器中安装busybox [背景]: Android 模拟器的 shell 真是难用啊,很多命令都不支持,如 find . grep . send 等等,最近正好有时间,想捣鼓捣鼓, ...

  3. 什么是android模拟器开发环境,android开发环境搭建和模拟器的使用

    1)Android开发环境的搭建 .1.JDK安装 1.2.Eclipse安装 1.3.Android SDK安装 1.4.ADT安装 1.5.创建AVD 1.1.JDK安装 第一步:安装jdk,下载 ...

  4. Android开发工具——ADB(Android Debug Bridge) 一概览

    Android Debug Bridge (adb) 是一个android开发人员必会的多功能的调试工具,确实它的名字一样,它在开发者和目标机器之间,架起了一座bridge. adb的用法很简单,只要 ...

  5. android 串口调试adb,Android系统 debug 技巧(最全最强adb 串口调试命令)

    串口调试命令 debug adb 命令(去掉adb shell即为串口命令) 发送广播 adb shell am broadcast -a com.android.test 打开activity ad ...

  6. adb怎么连接到android模拟器,4 adb连接到手机/模拟器

    前言: 要让测试脚本能够运行在真机/模拟器上,就要保证Android 调试桥 (adb)能够连接到这些设备.本文提供adb连接到真机和模拟器的方法. 1 连接到模拟器(本文以夜神模拟器为例) 需提前安 ...

  7. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝 Android 平台可执行文件和动态库到 /data/system )

    文章目录 一.运行环境搭建 Android 模拟器安装 二.拷贝 Android 平台可执行文件和动态库到 /data/system 目录下 一.运行环境搭建 Android 模拟器安装 使用低版本的 ...

  8. 安装Android模拟器Genymotion【Android学习入门】

    安装Android模拟器Genymotion 推荐教程:一个强大的Android模拟器Genymotion具体内容如下: 相信很多Android开发者一定受够了速度慢.体验差效率及其地下的官方模拟器了 ...

  9. android 代码发adb,Android预安装软件adb命令编译源码

    Android预安装软件&adb命令&编译源码 发布时间:2020-06-02 17:28:41 来源:51CTO 阅读:895 作者:年少的风 1.预安装软件: 将eclipse下的 ...

  10. Android模拟器远程,使用Android模拟器进行远程调试

    我意识到这个问题确实是老了,但我解决了这个问题略有不同,我花了一段时间来弄清楚这个简单的解决方案. 我通常使用Windows7 PC或笔记本电脑(取决于我在哪里工作)作为我的前端,因为我喜欢GUI,但 ...

最新文章

  1. .net API跨域
  2. gm怎么刷东西 rust_刷了这种黑板漆再也不用担心吃粉笔灰了
  3. nlp文本相似度_用几行代码在Python中搜索相似文本:一个NLP项目
  4. tfpose与openpose区别_人体姿态识别--Openpose+Tensorflow
  5. 【Linux】Docker 基础与实战,看这一篇就够了
  6. selenium3 + java 日志
  7. Spring-context-ConfigurationClassBeanDefinitionReader类
  8. 英文的写作 —— 词汇的积累(环境的描写、写人)
  9. python流程自动化_python selenium 自动化流程的一些总结与思考
  10. 成都电子信息学校计算机专业,成都电子信息学校2020招生简章
  11. Centos7+搜狗拼音输入法 安装不踩雷
  12. 谷歌SEO长尾关键词挖掘方法
  13. mysql基础命令集合
  14. /* global $ xxxx */ eslint注释
  15. 固态硬盘是什么接口_5分钟教会你怎么区分M.2固态硬盘接口和协议
  16. 新一代SSD接口来了 | M.2接口发福版?
  17. 笔记本电脑亮度调节按钮不起作用
  18. 移动端、PC端 网页特效
  19. 3D游戏建模师薪水大概是多少?从人生经历来看
  20. 机器学习——朴素贝叶斯分类

热门文章

  1. Ubuntu 16.04下Linux驱动编写第一步
  2. [Ogre][地形][原创]基于OgreTerrain的地形实现
  3. Ubuntu下使用Dr.com宽带客户端上网的步骤
  4. HDU1465_递推_错排
  5. WordPress数据库error establishing a database connection错误
  6. 加拿大11年级计算机课程代码,加拿大高中选课那些事儿
  7. JavaSE学习--内部类
  8. 基于 MVP + Glide + Retrofit + RxJava2.0 + butterknife 的C9MJ TV App
  9. 7年老员工的6点离职忠告
  10. dotween unity 延时_使用DoTween在Unity中制作队列(Sequence)动画