2015-03-02 39 views
13

测试任何应用程序都变得非常令人沮丧。 我启动仿真器和运行应用程序在第一时间和它的工作原理,并立即开始在ADB日志AdbCommandRejectedException在仿真器上测试时获取属性

DeviceMonitor: Failed to connect to client '2560': EOF 
PropertyFetcher: AdbCommandRejectedException getting properties for device emulator-5554: device offline 

logcat中显示任何抛出此。我已经试过一切来阻止这一点。杀死和启动adb服务器并不能解决问题。我必须重新启动AVD。

任何帮助将不胜感激。谢谢

+0

我有完全相同的问题...我在OS X 10.10 – JDS 2015-05-10 16:41:05

+1

我现在使用http://www.genymotion.com,它的工作原理没有给出神秘的错误消息 – JDS 2015-07-07 15:09:29

回答

1

试试这个,我希望它会帮助你。

1-adb kill-server
2-adb启动服务器重新启动adb。
它可以在你的android sdk目录子文件夹plattform-tools中找到。

尝试通过单击F7来锁定和解锁模拟器,并在执行此操作时检查logcat。

+0

使用'kill-server'和'启动服务器“没有区别。 logcat是空的,因为模拟器甚至没有正确连接到Android Studio。在我的情况下,模拟器启动时甚至无法看到Android徽标,但屏幕保持黑屏。 – JDS 2015-05-14 20:43:35

+0

您使用的是ARM还是Intel Image? – 2015-05-15 09:54:55

4

这通常发生是因为android模拟器只是减慢和adb命令超时。但是你可以设置参数来增加这个超时。

如果您通过gradle运行adb命令。例如connnectedCheck。你可以使用android插件DSL来设置这个参数,如下图所示:

android { 
    adbOptions { 
     timeOutInMs 60000 // set timeout to 1 minute 
    } 
} 

这是在Android gradle插件1.2.0中添加的。不幸的是,它只有在启用了multidex的情况下才有效。由于某些原因,他们忘记将其包含在单个apk版本中。但是有一个解决方法来处理这个问题。你可以调用静态方法,如下所示。

com.android.ddmlib.DdmPreferences.setTimeOut(60000) 

如果您直接使用adb运行adb命令,您可以选择设置环境变量来处理此问题。

export ADB_INSTALL_TIMEOUT=5 

记住ADB_INSTALL_TIMEOUT以秒为单位,而不是以毫秒为单位的gradle中的DSL。

+0

可悲的是这似乎也没有帮助。我认为我的问题是,模拟器没有启动(屏幕保持黑屏,没有显示Android徽标)。但是,由于你的详细答案,我可能会奖赏你的赏金。 – JDS 2015-05-17 09:52:50

+0

完美的答案,我有一个问题,特拉维斯花了很多时间来连接,有时我因为超时而失败了,现在一切正常! – jmsalcido 2016-06-09 17:15:05

0

它发生在我身上的是一个真实的设备。

尝试撤消USB调试授权(从设备设置 - >开发人员选项)。 然后重新连接设备并授权。

0

我对使用模拟器的人的建议是让AVD下车。获取真实设备或下载Genymotion。免费版本完成作业。

0

我面临着类似的问题,我跑

ADB设备

在终端

和我的设备显示我重新启动它开始为我工作的设备离线。但是,你经常遇到这个问题,重启并不是一个好的解决方案。

0

将电话连接到PC的USB电缆会影响adb设备脱机/设备状态。尝试用已知的工作电缆替换电缆。

相关问题