博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 经验: 5555 端口会被 adb 误认为 emulator
阅读量:6006 次
发布时间:2019-06-20

本文共 919 字,大约阅读时间需要 3 分钟。

在本机启动 Android, 再用本机的的 adb 去连接

adb connect 127.0.0.1:5555

而后 adb devices 查看

user@ubuntu:~$ adb devices              

List of devices attached 
emulator-5554   device
127.0.0.1:5555  device

为何会出现两个设备? 我并没有运行 emulator?

如果你修改 system/build.prop 加入下面,修改adbd 的监听端口

service.adb.tcp.port=5566

就只出现一个设备

127.0.0.1:5566  device

这又是为何? 经过调查分析有了答案:

1) adb 启动就连接5555端口

启动 adb 的时候, adb 通过 "adb fork-server server" 启动 adb deamon

而后deamon 就会去找本地的 5555 端口, 直到 5555+32

ref: jellybean/system/core/adb/transport_local.c#140

为何连接上就叫 emulator, 这是因为 adb 期望自动为用户连接本机的emulator ( 每个emu两个端口, 可以多达16个)

如果你不用service.adb.tcp.port=5566 而用 5565 就是出现  emulator-5564, 因为连接只测试奇数端口

2) 为何连接叫 emulator-5554  而不是  emulator-5555

这是因为缺省emulator的 console 端口是 5554 ( 应该可以用 telnet 连接与 emulator 交互(还没有试验)) , 而adb 的端口是console端口 +1 就是 5555

当使用  adb emu <command>  可能就是把 <command> 发到5554端口 

总结: 

以前以为 emulator 是构造虚拟的 usb设备, 看来不是

adb  连接 emulator 也是通过 tcp 连接的

如果你有程序监听 5555 端口, 会被 adb 认为是 emulator

 

转载地址:http://adsmx.baihongyu.com/

你可能感兴趣的文章
基本数据类型
查看>>
实现业务系统中的用户权限管理--实现篇
查看>>
使用 Windows PowerShell 连接到 Lync Online
查看>>
Python生成列表
查看>>
青春期企业如何突围(转)
查看>>
EasyUI form ajax submit到MVC后,在IE下提示下载内容的解决办法
查看>>
Python 第三天 字符串
查看>>
第5次作业+105032014116+陈洁
查看>>
[Asp.net]通过uploadify将文件上传到B服务器的共享文件夹中
查看>>
[Bug]IIs Cannot read configuration file due to insufficient permissions
查看>>
foxit pdf强制页面视图所有情况都为'合适宽度'
查看>>
[转载] 晓说——第20期:“看美国”系列之《美国人与物》
查看>>
2017-2018-1 20155332 《信息安全系统设计基础》第六周学习总结
查看>>
css 两个图层 响应跳动
查看>>
PyQt5 应用在 TeamViewer 下无法使用全屏模式
查看>>
HDOJ_ACM_CUP
查看>>
python数据类型之集合(set)和其常用方法
查看>>
SDUT-3344_数据结构实验之二叉树五:层序遍历
查看>>
汕头市队赛 SRM 06 B 起伏的排名
查看>>
关键帧动画结束后会有短暂停顿
查看>>