Android 在emulator上测试时获取属性的ADBCommandRecjectedException

Android 在emulator上测试时获取属性的ADBCommandRecjectedException,android,android-studio,adb,Android,Android Studio,Adb,测试任何应用程序都会让人沮丧。 我第一次启动emulator并运行该应用程序,它就工作了,并立即开始将其放入ADB日志中 DeviceMonitor: Failed to connect to client '2560': EOF PropertyFetcher: AdbCommandRejectedException getting properties for device emulator-5554: device offline Logcat不显示任何内容。我已经尽力阻止这一切。终止并

测试任何应用程序都会让人沮丧。 我第一次启动emulator并运行该应用程序,它就工作了,并立即开始将其放入ADB日志中

DeviceMonitor: Failed to connect to client '2560': EOF
PropertyFetcher: AdbCommandRejectedException getting properties for device emulator-5554: device offline
Logcat不显示任何内容。我已经尽力阻止这一切。终止并启动adb服务器并不能解决问题。我必须重新启动AVD


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

试试这个,我希望它能帮助你

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


尝试通过单击F7锁定和解锁仿真器,并在执行此操作时检查日志猫。

这通常会发生,因为android仿真器只是在减速,adb命令超时。但您可以设置参数来增加此超时

如果您通过gradle运行adb命令。例如
connectedcheck
。您可以使用android插件DSL设置此参数,如图所示

android {
    adbOptions {
        timeOutInMs 60000 // set timeout to 1 minute
    }
}
这是在android gradle插件1.2.0中添加的。不幸的是,它只有在启用了多索引时才起作用。出于某种原因,他们忘记将其包含在单个apk构建中。但是有一个解决办法来处理这个问题。您可以只调用静态方法,如下所示

com.android.ddmlib.DdmPreferences.setTimeOut(60000)
如果直接使用adb运行adb命令,则可以选择设置环境变量来处理此问题

export ADB_INSTALL_TIMEOUT=5

请记住,
ADB\u INSTALL\u TIMEOUT
是以秒为单位设置的,而不是像gradle DSL那样以毫秒为单位设置的

这件事发生在我身上,是一个真正的设备

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

我建议使用仿真器的人不要使用AVD。获取真正的设备或下载Genymotion。免费版完成了任务。

我也遇到了类似的问题,我跑了

亚洲开发银行设备


在终端中,我的设备显示为脱机状态,我重新启动了设备,它开始为我工作。但您经常会遇到此问题重新启动不是一个好的解决方案。

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

我遇到了完全相同的问题…我使用的是OS X 10.10,现在使用的是它,使用
kill server
start server
不会发出神秘的错误消息。logcat是空的,因为模拟器甚至没有正确连接到Android Studio。在我的例子中,当模拟器启动时,我甚至看不到Android徽标,但屏幕一直是黑色的。你使用的是ARM还是Intel图像?遗憾的是,这似乎也没有帮助。我认为我的问题是,模拟器根本没有启动(屏幕保持黑色,没有显示Android徽标)。但我可能会奖励你,因为你的详细回答。完美的回答,我与特拉维斯有一个问题,花了很多时间连接,有时我失败的建设只是因为超时,现在一切都顺利通过!