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

Mic*_*Obi 13 android adb android-studio

完全测试任何应用程序真的很令人沮丧.我启动模拟器并第一次运行应用程序并且它正常工作并立即开始将其投入ADB日志

DeviceMonitor: Failed to connect to client '2560': EOF
PropertyFetcher: AdbCommandRejectedException getting properties for device emulator-5554: device offline
Run Code Online (Sandbox Code Playgroud)

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

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

小智 6

尝试一下我希望它能帮助你。

1-adb Kill-server
2-adb start-server 重新启动adb。
它可以在您的 android sdk 目录的子文件夹 plattform-tools 中找到。
或者
尝试通过单击 F7 来锁定和解锁模拟器,并在执行此操作时检查 logcat。


Bla*_*laz 5

这通常是因为android模拟器会变慢并且adb命令超时而发生的。但是您可以设置参数以增加此超时时间。

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

android {
    adbOptions {
        timeOutInMs 60000 // set timeout to 1 minute
    }
}
Run Code Online (Sandbox Code Playgroud)

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

com.android.ddmlib.DdmPreferences.setTimeOut(60000)
Run Code Online (Sandbox Code Playgroud)

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

export ADB_INSTALL_TIMEOUT=5
Run Code Online (Sandbox Code Playgroud)

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