adb 通信协议分析以及实现 (四) ADB shell 命令分析

本文分析了ADB中shell命令的特殊格式,如将 `-s "abcdefg" shell dumpsys package com.a.b` 转换为 `shell:dumpsys package com.a.b`。在发送给ADB服务进程前,shell命令需要进行端口转换。文中给出了参考adb源码实现的转换函数示例,并提供了问题咨询的联系方式。
摘要由CSDN通过智能技术生成

adb 的shell 命令和普通的命令发送格式有点不一样,需要重新组织一些命令的格式

比如下列命令 -s "abcdefg" shell dumpsys package com.a.b, 需要组织成 shell:dumpsys package com.a.b。 发送给adb 服务进程。

       shell 命令在发送给服务进程之前,需要转换一下端口。

int switch_socket_transport(CSyncSocket& socket,const char* pszSerial)
{
char service[512] = {0};
sprintf(service, "host:transport:%s", pszSerial);
int iLen = strlen(service);
char tmp[5];
sprintf(tmp, "%04x", iLen);
if (socket.SendData((const byte*)tmp,4) != 4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值