文档章节

adb架构

天王盖地虎626
 天王盖地虎626
发布于 2018/12/17 11:22
字数 447
阅读 14
收藏 0

adb是什么? adb就是Android调试桥,很形象啊。 先来看adb原理的逻辑图:

ADB架构
adb由两个物理文件组成:
adb/adb.exe
运行于PC端,包括Linux、Windows、Mac OS等系统之中,通常是x86架构上(下文中,ADB指整个模块,而adb单独指这一部分);
adbd
运行于Android设备的底层Linux之中,ARMv5架构上。

构建不同文件,通过传入Android.mk的$(BUILD_SIMULATOR)变量是否为真。源码中由ADB_HOST宏用来区分本地主机(adb)和目标机(adbd)。
区分不同OS,通过传入Android.mk的$(HOST_OS)。它的有效取值包括linux、darwin、freebsd和windows。不同平台的主要差异是USB的控制方法和文件路径。

 

ADB各模块定义:

adb server: 计算机上的一个服务进程,进程名为adb
adbd (adb daemon) : Android 手机上的一个服务进程,进程名为adbd
adb client:你可以认为是计算机上的一个终端窗口,进程名也为adb
DDMS:Dalvik Debug Monitor Service
Jdwp: Java Debug Wire Protocol

 

adbd (ADB daemon):

运行于device/emulator的守护进程(Local service)。其作用如下:
1,用来连接device/emulator和adb server,device通过USB连接,emulator通过TCP连接。
2,为device/emulator提供服务--> adb service(adb服务,注意与adb服务端的区别)的概念,指adbd提供的功能。
在emulator/device端,adbd也创建local socket和remote socket,前者与通过jdwp与dalvik VM进层通信,后者通过TCP/USB与adb server通信。

本文转载自:https://www.cnblogs.com/shengs/p/9340214.html

天王盖地虎626

天王盖地虎626

粉丝 34
博文 552
码字总数 21557
作品 0
南京
私信 提问
Android Studio 查看手机CPU信息

在Android开发中,我们想要获取手机是什么CPU架构,可以通过下面方式: 1.进入adb 终端 adb shell 2.进入proc目录 cd /proc/ 3.查看cpu信息 cat cpuinfo 则会显示cpu架构等信息...

)^程序猿^(
2017/11/27
0
0
如何开始对Android应用的逆向分析?

  本文是我的关于如何开始Android逆向系列文章的第一部分。在文末提供了一个文档,你可以根据该文档说明部署同我一样的实验环境。   在了解android应用的逆向之前,你必须对android平台及...

FreeBuf
2018/08/20
0
0
android学习笔记(不断更新...)

入门基础: 一、Android的发展和历史 创始人:AndyRubin 二、Android的平台架构和特性 四层架构:应用层 应用架构层 C/C++库 Linux 三、搭建Android开发环境 JDK(1.6以上版本) Android SD...

cg19910712
2013/09/01
0
0
android系列:第一篇 android开发常用命令集合,代码目录简介

下面整理了android开发常用命令集合如adb命令,adb over wifi,jgrep等代码搜索命令,编译环境变量配置,lunch平台选择,mm模块编译,godir代码路径跳转,log.v()等log打印级别,android代码...

radianceblau
2017/07/13
0
0
安卓模拟器用adb remount没有权限怎么办

请各位大神帮帮小弟。 我创建了一个模拟器, 用的是4.2.2版本的,arm架构的,想要root, 进入到shell里面后,看见/system 是 ro ,所以想重新挂载一下 root@android :/ # mount rootfs / roo...

云松
2017/01/01
696
0

没有更多内容

加载失败,请刷新页面

加载更多

db.properties

jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=falsejdbc.username=rootjdbc.pas......

行者终成事
33分钟前
5
0
从 Storm 到 Flink,汽车之家基于 Flink 的实时 SQL 平台设计思路与实践

在 2019 年之前,之家的大部分实时业务都是运行在 Storm 之上的。Storm 作为早期主流的实时计算引擎,凭借简单的 Spout 和 Bolt 编程模型以及集群本身的稳定性,俘获了大批用户。下图是实时计...

阿里云官方博客
33分钟前
4
0
网络安全-Day04

2.1.1 什么是SQL注入 2.1.2 注入分类 2.1.3 MySQL手工注入 2.1.4 sqlmap使用 2.1.5 总结 什么是SQL注入 SQL注入漏洞原理 什么是SQL 结构化查询语言(Structured Query Language),是一种特殊目...

Jerry1101
34分钟前
4
0
docker容器内安装yum,vim等命令,以及配置ls指令

使用国内镜像 mv /etc/apt/sources.list /etc/apt/sources.list.bakecho "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >> /etc/apt/sources.listecho "deb http://......

长恭
34分钟前
4
0
超详细的MySQL8.0.17版本安装教程

下载MySQL MySQL的官网地址:https://www.mysql.com/。 如下图所示: 然后点击DOWNLOADS ==> Community,选择MySQL Community Server。如图所示: 滑到页面的最下面,找到Recommended Downl...

彩色泡泡糖
37分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部