分享

输入adb shell 时 提示error: more than one device and emulato

 herowuking 2015-01-14
第一种情况确实用多个设备或者模拟器
   解决办法:(指定连接某一个设备或者模拟器)

1、获取模拟器/设备列表

  
adb devices

2、指定device来执行adb shell


  adb -s devicename shell

例如:


adb -s emulator-5554 shell

在多device的时候,执行adb命令一般都需要用参数-s指定device。例如卸载emulator-5554上的包com.soft.camera     adb -s emulator-5554 uninstall com.soft.camera

第二种情况下:确实有一个设备或者模拟器(之所以显示有多个是因为此设备用过两次 使用命令 adb devices 会看到这个设备有两种状:offline 和 device)
    解决办法:
   一般办法:在命令窗口输入
adb kill-server  停止adb.exe服务
adb start-server 重新启动adb.exe服务
   如果上述方法不可以,终极方法:打开任务栏,选择“进程”选项卡,找到adb.exe进程,结束之,重新启动就完事OK啦(或者在命令窗口输入命令adb kill-server )      



以上办法还不行   ,继续:

现象:用adbdevices命令总发现emualtor-5554offline,重新安装与adb相关的程序均无法消除此设备。
原因:有程序占用5555端口,导致adb认为5554不能作为第1个设备启用
方法:
1. 用netstat –ano(即netstat -a –n –o),查看5555端口被哪个PID占用。
2. 打开任务管理器,选择“进程”,在“查看”菜单打开“选择列”,勾上PID。
3. 把进程按PID排序,找到PID对应的程序名。
4. 按文件名搜索程序所在的目录,确认后删除该程序。
5. 再运行adb devices,发现emualtor-5554 offline已消失。


CMD指令:
1、C:\Users\WUKING>netstat -aon|findstr "5555"
  TCP    127.0.0.1:1069         127.0.0.1:5555         ESTABLISHED     6692
  TCP    127.0.0.1:5555         0.0.0.0:0              LISTENING       3312
  TCP    127.0.0.1:5555         127.0.0.1:1069         ESTABLISHED     3312


2、C:\Users\WUKING>tasklist|findstr "3312"
HD-Network.exe                3312 Services                   0      3,720 K
这是那个Bluestacks的进程,电脑启动它就运行了

3、C:\Users\WUKING>taskkill /f /t /im HD-Network.exe
成功: 已终止 PID 3312 (属于 PID 2064 子进程)的进程。

4、C:\Users\WUKING>adb devices
List of devices attached
cb89741e        device
再也没有恼火的emulator-5554   device出现了!!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多