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启动会了,或者总是重启。
3.问题
因为当用数据线连接设备到电脑上时,adb就会启动(前提是android设备上得先打开“USB调试”模式)。像各种手机助手类的软件主要也是通过调用adb或者ddms来获取和操作手机上的APP。个人感觉因为涉及的东西比较多,有数据线的问题,硬件接口的问题,还有adb,ddms能否顺利启动的问题,所以会出现有时候adb启动会了,或者总是重启。
4.解决办法
有个老外总结的比较全面:
Try below steps:
- Close the Eclipse if running
- Go to the Android SDK tools directory in Command Prompt
- type
adb kill-server
- then type
adb start-server
- No error message is thrown while starting ADB server, then adb is started successfully.
- Now you can start Eclipse again.
- 个人再补一条,重启电脑。
it worked for me this way, Eclipse should be closedbeforeissuing these commands.
前提是你的adb已经配置好了。 如果这时候依然didn't ACK,那么启动任务管理器,看看是否有adb.exe.有的话关掉,再重复以上动作就可以了。
这个问题是开发中的老大难问题,通过以上方法,大不了多折腾几遍应该能解决类似于“ADB server didn't ACK * failed to start daemon”的问题。
参考资料:
1.http://game.chinaitlab.com/devdoc/856386.html
2.http://blog.sina.com.cn/s/blog_51335a000101j59n.html
3.http://www.cnblogs.com/miya2012/archive/2012/06/05/2536028.html
4.http://baike.baidu.com/view/2688850.htm
5.http://baike.baidu.com/view/46000.htm#3
Author By Andy Zhai
-0:39 16/04/2013
转自:http://www.cnblogs.com/carmanloneliness/archive/2013/04/16/3023299.html
分享到:
相关推荐
当遇到ADB连接问题时,可以尝试重启设备,检查USB驱动,或者在设备端执行`adb kill-server`和`adb start-server`。 10. **总结** ADB作为Android开发不可或缺的工具,其功能强大且灵活。熟练掌握ADB的使用技巧,...
**adb工具详解** adb(Android Debug Bridge)是Google开发的一款强大的命令行工具,它是Android开发者不可或缺的神器之一。在“乐视C1S adb工具”中,adb被用于对乐视C1S机顶盒进行root操作,这使得用户能够获得...
**adb小工具Android详解** `adb (Android Debug Bridge)` 是Android开发者不可或缺的工具之一,它是一个命令行实用程序,允许用户通过USB或...尽管它简化了操作,但了解adb的基本命令和工作原理仍然是提升效率的关键。
**adb(Android Debug Bridge)详解** adb,全称为Android Debug Bridge,是Google为Android系统开发的一个强大的命令行工具。作为开发者和爱好者们必备的利器,adb可以实现计算机与Android设备之间的通信,无论是...
- **重启和控制设备**:`adb reboot`可重启设备,`adb shell input keyevent`能模拟按键事件,如电源键、音量键等。 **6. ADB的第三方工具** 为了方便使用,很多开发者会借助第三方工具,如“ADB Interface”或...
总的来说,ADB是Android开发中的基础工具,熟悉和掌握ADB的使用,能够极大地提升开发效率和问题解决能力。无论你是应用开发者、系统工程师还是测试人员,了解和熟练运用ADB都是必不可少的技能。
ADB(Android Debug Bridge)是Android开发者不可或缺的一个强大工具,它作为开发者与安卓设备之间的一座桥梁,允许用户通过命令行接口执行各种操作,包括安装和调试应用、传输文件、控制设备以及获取设备状态等。...
### ADB网络连接调试Android详解 ...理解ADB的工作原理以及如何配置网络连接对于高效地开发和调试Android应用至关重要。掌握了这些技巧后,开发者可以在不同的环境中更加自如地进行Android应用的开发和测试。
本文将深入探讨ADB的基本功能、工作原理以及实际应用。 ADB,作为安卓系统的一部分,是Google提供的一个命令行工具,用于连接开发者电脑与安卓设备进行通信。它主要由三部分组成:服务器、守护进程和客户端。服务器...
**adb (Android Debug Bridge) 知识点详解** adb(Android Debug Bridge)是Google开发的Android SDK中的一个命令行工具,用于与运行Android操作系统的设备进行通信。它是一个多功能的接口,允许开发者从电脑上控制...
【Python编程的简易版自动化工具——ADB全操作详解】 在移动设备自动化测试和开发领域,Android Debug Bridge(ADB)是一个不可或缺的工具。它允许开发者通过命令行与Android设备进行交互,进行应用程序的安装、...
使用`npm install appium-doctor -g`安装Appium Doctor工具,它能帮助检查和解决Appium配置中的问题。运行`appium-doctor`检查配置是否完成。 **二、UIAutomator** UIAutomator是Android SDK的一部分,用于创建UI...
### Android越狱与SuperOneClick详解 #### 一、什么是Android越狱? 在讨论SuperOneClick之前,我们先来了解一下Android越狱的概念。通常所说的Android越狱,实际上是指获得Android设备的最高管理员权限(root权限)...
在本文中,我们将深入探讨Android Recovery的工作原理、功能以及如何利用它来提升Android设备的管理和维护能力。 Android Recovery的核心功能包括: 1. **系统升级**:当新的系统更新可用时,Recovery可以执行OTA...
4. 重启设备:有时候简单的重启电脑或设备可以解决一些临时性的问题。 5. 查阅官方文档:若以上方法无效,应查阅君正4740的官方文档或寻求技术支持。 总之,“君正4740 USB驱动for Windows”是实现Windows系统与君...
本文将深入探讨三星USB驱动的原理、安装过程以及常见问题解决。 首先,理解USB驱动的原理至关重要。USB(Universal Serial Bus)驱动是操作系统与硬件设备之间的桥梁,负责解释并执行设备的指令,确保电脑能识别并...
本文将详细解析红米Note3如何安装TWRP3.0以及其背后的原理和操作流程。 首先,让我们了解什么是TWRP。TWRP是一款开源的定制恢复环境,它支持触控操作,使得用户在没有电脑辅助的情况下也能轻松管理手机系统。TWRP...
本篇文章将深入探讨Android OTA更新的相关知识点,包括其工作原理、更新机制以及如何实施。 #### 二、更新机制 ##### 标准流程 Android OTA更新的标准流程主要包括以下步骤: 1. **下载更新包**:用户或设备通过...
本文将深入探讨Nexus 5的Android 5.1.1刷机脚本以及其工作原理。 首先,我们需要理解“刷机”的概念。刷机是通过特殊的软件工具(如Fastboot、ADB等)更改手机的固件或操作系统的过程。通常,这涉及到安装新的系统...