Android 经验: 本地 5555 端口会被 adb 误认为 emulator
来源:互联网 发布:at指令集的gprs源码 编辑:程序博客网 时间:2024/06/06 19:35
在本机启动 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
- Android 经验: 本地 5555 端口会被 adb 误认为 emulator
- Android ADB emulator-5554 unauthorized
- Android Emulator连接本地服务器
- 根据emulator的端口进入adb设备的命令
- Android的emulator和ADB工具使用
- android adb 端口转发
- Android 修改adb端口
- 【经验】教你识辨几个容易被误认为病毒的文件
- adb 端口被劫持
- Android:adb端口被占用
- Android开发工具之一:emulator、adb和sqlite3
- 命令行启动android emulator及用adb加载应用程序
- android adb 报错:more than one device or emulator
- Android源码下载与编译之emulator与adb
- 三种Android开发工具:adb、emulator和sqlite3
- android emulator挂载SD卡和adb shell
- android 源码环境下编译adb emulator windows版本
- 命令行启动android emulator及用adb加载应用程序 .
- hdu 3666 THE MATRIX PROBLEM(判负环)
- linux(centos)svn进行多个版本库的配置
- 应聘简历的注意事项
- OBJC中声明字符串常量的一个常见错误
- 绘制文字气泡样式
- Android 经验: 本地 5555 端口会被 adb 误认为 emulator
- 终于又回来
- Restore IP Addresses
- hdu 1559 最大子矩阵(DP)
- 人脸识别必读的N篇文章
- Effective C++ 读书笔记(12)
- i++, ++i , i = i+1 效率问题
- PHP的执行原理/执行流程
- 分享一个javascript alert精简框架