2019独角兽企业重金招聘Python工程师标准>>>

1、adb(Android Debug Bridge) 意为android调试桥。

  是android系统中的一种命令行工具,通过它可以和android设备或模拟器通信。

  ADB是一个C/S架构的应用程序,由三部分组成:

  1)adb client, 运行在PC上(为DDMS,即IDE工作)

  2)adb daemon(守护进程), 运行于Emulator(为与Emulator中的VM交互工作);

  3)adb server(服务进程), 运行在PC(任务管理器上有),管理着adb client和adb daemon的通信。server与client通信的端口是是5037,adb server会与emulator交互的,使用的端口有两个,一个是5554专门用于与Emulator实例的连接,那么数据可以从Emulator转发给IDE控制台了,另一个则是5555,专门与adb daemon连接为后面调试使用。
    PS:Emulator/Device占用两个(一组)端口,一个为偶数的5554,一个奇数的5555。
    如果还开启其他的Emulator,则使用的另一组端口是5556,5557,一直到5585.
    adb server开启时就是通过查找5555-5585之间端口来建立与模拟器的连接的,建立连接后就可以用adb的相关命令了。

  ADB的原理详图解

  

  

  这下总明白了吧。

2.DDMS

  在Eclipse开发工具中开发时,右上角可打开DDMS面板。Android 开发环境中的针对设备上Dalvik虚拟机调试监控服务。它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等服务。DDMS启动后会自动调用ADB服务,从而启动ADB服务,而不用开发者手动去启动ADB工具。  因为当用数据线连接设备到电脑上时,adb就会启动(前提是android设备上得先打开“USB调试”模式)。像各种手机助手类的软件主要也是通过调用adb或者ddms来获取和操作手机上的APP。个人感觉因为涉及的东西比较多,有数据线的问题,硬件接口的问题,还有adb,ddms能否顺利启动的问题,所以会出现有时候adb启动会了,或者总是重启。

转载于:https://my.oschina.net/Bruce370/blog/416656

安卓 adb 的原理浅析相关推荐

  1. Android adb实现原理

    adb定义: adb(Android Debug Bridge) 安卓调试桥,包含adb client.adb server和adbd三部分. adb client:运行在PC上,即DDMS或者在Wi ...

  2. adb remount原理

    1, 输入"fastboot flashing unlock" in adb ,waiting for the device 2, 输入"fastboot flashin ...

  3. Python标准库queue模块原理浅析

    Python标准库queue模块原理浅析 本文环境python3.5.2 queue模块的实现思路 作为一个线程安全的队列模块,该模块提供了线程安全的一个队列,该队列底层的实现基于Python线程th ...

  4. Python标准库threading模块Condition原理浅析

    Python标准库threading模块Condition原理浅析 本文环境python3.5.2 threading模块Condition的实现思路 在Python的多线程实现过程中,在Linux平 ...

  5. 第一篇: 词向量之Word2vector原理浅析

    第一篇: 词向量之Word2vector原理浅析 作者 Aroundtheworld 2016.11.05 18:50 字数 1353 阅读 5361评论 1喜欢 9 一.概述 本文主要是从deep ...

  6. SPI及其工作原理浅析

    说明.文章摘自:SPI协议及其工作原理浅析 http://bbs.chinaunix.net/thread-1916003-1-1.html 一.概述. SPI, Serial Perripheral ...

  7. adb 的原理以及它总重启等问题详解

    1.adb(Android Debug Bridge) 意为android调试桥. 是android系统中的一种命令行工具,通过它可以和android设备或模拟器通信. ADB是一个C/S架构的应用程 ...

  8. .NET1.1中预编译ASP.NET页面实现原理浅析[1]自动预编译机制浅析

    .NET1.1中预编译ASP.NET页面实现原理浅析[1]自动预编译机制浅析 .NET1.1中预编译ASP.NET页面实现原理浅析[1]自动预编译机制浅析 作者:&;nbsp来自:网络 htt ...

  9. LinkedList 的实现原理浅析

    转载自 LinkedList 的实现原理浅析 LinkedList内部结构 查看LinkedList的源码,发现其继承自AbstractSequentialList,实现了List,Deque,Clo ...

最新文章

  1. 1、为什么使用Long时,推荐多使用valueOf方法,少使用parseLong方法
  2. SAP Cloud for Customer的公有云和私有云部署方式 - Public Cloud vs Private Cloud
  3. springboot指定注解扫描范围
  4. 作者:陈维政,男,北京大学博士生。
  5. 《南溪的python灵隐笔记》——有趣的Munch字典库
  6. JavaScript 图像延迟加载库 Echo.js的简单使用
  7. 无刷新,动态设置页面焦点的问题
  8. 【机器学习系列】隐马尔科夫模型第一讲:通俗易懂概述HMM
  9. linux的mongo主从异常,解决Linux系统下MongoDB数据库异常退出的问题
  10. 微信html5电子相册,维本- 电子相册微信H5模板【h5特效】
  11. JXLS for循环
  12. Idea查看Java类图和接口实现关系
  13. 微信小程序中slider实现拾色器功能
  14. 航拍VR全景怎么拍摄制作?航拍VR全景制作软件有哪些?
  15. bat脚本——提取多个文件夹到指定路径
  16. C语言银行账户管理系统
  17. 中国物流网很难进入运输颓势
  18. vrchat新手教程_VRChat入门指南| 最新电脑资讯
  19. JavaScript系列之详解原型和原型链
  20. 鸿蒙互联网开发安卓仍是,【华为|华为鸿蒙手机倒计时,国产软件崛起迎曙光?荣耀:安卓依然是首选( 四 )】操作系统|鸿蒙|其他|曙光|荣耀_科技资讯_联盟·玩科技...

热门文章

  1. ubuntu mysql开发环境_Ubuntu + Nginx/PHP/MYSQL开发环境配置图文教程
  2. 创建此对象的程序是quation_MathType出现此对象创建于Equation中的问题怎么办
  3. Oracle sqlserver mysql的自增变量设置
  4. B9.流行的框架与新技术
  5. android 触摸屏(TP)问题现象分析和解决方法
  6. Java学习笔记:文件通道(FileChannel)
  7. HTML学习笔记:设置文本字体
  8. 如何在电话中交谈_11
  9. 2017.5.29-6.3 城市规划 思考记录(非常不容易)
  10. sdoi2017 r1 不堪回首