c语言如何调用adb命令_ADB源码分析(二)——传输层解析

这篇博客深入解析了ADB的传输层`transport.c`,详细介绍了如何在C语言中注册和使用adb命令。文章讨论了如何创建socketpair,当有transport需要注册时,如何触发`transport_registration_send`的写事件,以及在`transport_registration_func`函数中如何处理读写事件。此外,还解释了数据在主机和设备端如何在本地socket与远端之间传输的过程。
摘要由CSDN通过智能技术生成

6a1134b9e5984430a3ab06f66cc5ad17.png
此篇在于分析指令、数据包的流向,分析local socket与smart socket、remote socket的关联以及分析PC与Android设备是如何传递数据信息的(从本地转发到远端)
该文章是之前自己写的博客,现在搬运到知乎,和大家一起分享。
如果有分析不到位的地方,还请各位大虾们指正,欢迎交流!^_^

传输层(transport.c)详细分析

在 transport.c 中:

①transport注册

init_transport_registration();

-->adb_socketpair(s)//创建socketpair

transport_registration_send = s[0];

transport_registration_recv = s[1];

fdevent_install(&transport_registration_fde,transport_registration_recv,transport_registration_func,0);

fdevent_set(&transport_registration_fde,FDE_READ);

注:当 transport_registration_send 有写事件的时候触发 tr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值