首页 > 编程知识 正文

安卓adb工具包使用教程,安卓开发工具有哪些

时间:2023-05-04 19:00:27 阅读:127485 作者:3198

Android开发人员进行Android开发时,需要像其他开发一样进行各种调试。 Android Debug Bridge即adb是Android开发人员必须使用的调试工具,其功能非常丰富,顾名思义,它在Android开发人员和设备之间建立了良好的桥梁。

使用adb很简单,阅读SDK文档中有关adb的部分(Android-SDK-Linux _ 86/docs/guide/developing/tools/ADB.html ),然后进行练习android 2.2的位置是system/core/adb。

adb是slient-server体系结构,包含三个部分。

1、客户端在开发机器上运行。 可以在shell中调用adb命令。 其他安卓工具(如ADT插件和DDMS )也包含ADB客户端。

2、服务器也作为后台进程在开发机器上运行,服务器管理客户端和在目标机器或emulator上运行的守护程序之间的通信。 就像一座桥。

3、守护进程。 在目标计算机或emulator守护程序上运行。

上面的话是在SDK里翻译的,我看了一下adb的代码有点模糊,才去看了SDK。 再回来看代码的时候,思路很清晰。

adb功能强大,支持多平台,但代码非常简单,只有1.5万行左右。 作为其代价,可以举出难以理解(明白以前的事情)的例子。 代码中有各种各样的宏令人眼花缭乱。 作为重要宏之一的ADB_HOST用于区分本地主机和目标计算机。

客户端和服务器调用adb :

local _ cflags=-O2-g-dadb _ host=1- wall-wno-unused-parameter

local _ cflags=-d _ x open _ source-d _ GNU _ source-dsh _ history

LOCAL_MODULE :=adb

emulator/device调用adbd。

local _ cflags 3360=-O2-g-dadb _ host=0- wall-wno-unused-parameter

local _ cflags=-d _ x open _ source-d _ GNU _ source

LOCAL_MODULE :=adbd

1、在主机端,ADB fork名为server的守护进程而不是adbd,父进程继续处理客户端请求,所有客户端通过TCP端口号5037与server通信,服务器与本地套接字

2、在emulator/device端,adbd也制作本地套接字和远程套接字,前者通过jdwp与Java虚拟机进行层通信,后者通过TCP/USB与主机通信。

因此,整个过程应该如下。

1、客户端调用某个adb命令。

2、adb进程fork作为服务器输出子进程。

3、服务器查找当前连接的emulator/device。

4、服务器收到了客户端的请求。

5、服务器处理请求,将本地无法处理的请求发送到emulator/device。

6、位于emulator/device的adbd接收请求并传递给相应的java虚拟机进程。

7、adbd将结果发回服务器。

8、服务器将结果发送回客户端。

下图:

2012年9月19日

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。