解决ADB启动问题(Failed to initialize Monitor Thread: Unable to establish loopback connection)

重装了系统,再用ADT(adt-bunlde-windows),总会出现ddms初始化错误,logcat也无法获取log,报错信息为:

Failed to initialize Monitor Thread: Unable to establish loopback connection

后来发现实际问题是无法启动adb进程,在命令行使用adb devices 就会有下面的报错信息:

* daemon not running. starting it now on port 5037 *
ADB server didn't ACK
* failed to start daemon *
error: cannot connect to dae

网上给出了很多中解决办法,主要有一下几种:

1 关闭Windows防火墙;

2 关闭ipv6或设置ipv4偏好,具体为:在“设备管理器”,显示隐藏设备,禁用“Teredo”开头的一个网络设备;在eclipse.ini文件增加(最后一行的参数) 

openFile
-vmargs
-Djava.net.preferIPv4Stack=true

3 关闭虚拟网卡(VMware、VirtualBox等创建的虚拟网络适配器);

我的先做了2,3两步,都没有成功,迫不得已做了1,结果问题解决了,ddms启动了,logcat滚动了。但是关闭防火墙终究不放心,再启动防火墙,问题却没有复现,实在诡异。但稳妥期间还是启动着防火墙,同时给防火墙增加一个例外的规则,如图:

规则很简单,就是允许端口在5037的所有通信,仍然有安全隐患,但总好于关闭防火墙。当然,还可以限制程序来减小安全风险。

 

 

posted @ 2013-01-02 20:49  tt-0411  阅读(22272)  评论(1编辑  收藏  举报