AdbCommandRejectedException在模拟器上测试时获取属性

时间:2015-03-02 18:46:46

标签: android android-studio adb

测试任何应用程序真的很令人沮丧。 我启动模拟器并第一次运行应用程序并运行并立即开始将其投入ADB日志

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

Logcat什么也没显示。我已经尽力阻止这一切。杀死和启动adb服务器无法解决问题。我必须重新启动AVD。

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

6 个答案:

答案 0 :(得分:5)

这通常会发生,因为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那样以毫秒为单位。

答案 1 :(得分:1)

试试这个我希望它会对你有所帮助。

1-adb kill-server
2-adb start-server重启adb。
它可以在你的android sdk目录,子文件夹plattform-tools中找到 或
单击F7并尝试锁定和解锁模拟器。

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

adb devices

在终端中,我的设备显示为离线状态我重启了它开始为我工作的设备。但是你经常遇到这个问题,重启不是一个好的解决方案。

答案 5 :(得分:0)

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