机器人虚拟机:IDEVICE_E_NO_DEVICE



我正试图在iPod上测试我的libGDX应用程序,但简单地说,它不起作用。

它是为模拟器构建的,我也可以将具有相同捆绑包ID的Xcode项目推送到我的设备上,所以我真的无法将问题缩小到任何范围。

我正在使用:

  • Android Studio 4.0.1
  • RoboVM 2.3.10-SNAPSHOT
  • Xcode 11.7
  • macOS Catalina 10.15.6
  • iOS 13.7(17H35(

我怀疑它是否特别有用,但这里是整个错误:

[ERROR] Couldn't start application
org.robovm.libimobiledevice.LibIMobileDeviceException: IDEVICE_E_NO_DEVICE
at org.robovm.libimobiledevice.IDevice.checkResult(IDevice.java:197)
at org.robovm.libimobiledevice.IDevice.(IDevice.java:57)
at org.robovm.compiler.target.ios.IOSTarget.createIOSDevLauncher(IOSTarget.java:201)
at org.robovm.compiler.target.ios.IOSTarget.createLauncher(IOSTarget.java:175)
at org.robovm.compiler.target.AbstractTarget.doLaunch(AbstractTarget.java:802)
at org.robovm.compiler.target.ios.IOSTarget.doLaunch(IOSTarget.java:784)
at org.robovm.compiler.target.AbstractTarget.launch(AbstractTarget.java:798)
at org.robovm.compiler.AppCompiler.launchAsync(AppCompiler.java:1024)
at org.robovm.idea.running.RoboVmRunProfileState.executeRun(RoboVmRunProfileState.java:72)
at org.robovm.idea.running.RoboVmRunProfileState.startProcess(RoboVmRunProfileState.java:118)
at com.intellij.execution.configurations.CommandLineState.execute(CommandLineState.java:61)
at org.robovm.idea.running.RoboVmRunner.doExecute(RoboVmRunner.java:79)
at com.intellij.execution.runners.GenericProgramRunner$execute$$inlined$runProfileStarter$1.executeAsync(GenericProgramRunner.kt:56)
at com.intellij.execution.runners.GenericProgramRunnerKt$startRunProfile$$inlined$runProfileStarter$1.executeAsync(GenericProgramRunner.kt:56)
at com.intellij.execution.impl.ExecutionManagerKtImpl$startRunProfile$startRunnable$1.run(ExecutionManagerKtImpl.kt:66)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:83)
at com.intellij.openapi.application.TransactionGuardImpl.lambda$pollQueueLater$0(TransactionGuardImpl.java:68)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:441)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:424)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:407)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:908)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:781)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:424)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:698)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:423)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

从异常堆栈跟踪中,我可以看到RoboVM在编译之前检测到了您的设备(因为它获得了您的UDID(,编译了项目,并在部署过程中尝试通过UDID获取设备时失败。

如果您的设备不再连接或未通过USB连接,就会发生这种情况。例如,通过wifi。

可能您应该取消选中设备的Connect via network(可通过Xcode->Windows->设备和模拟器菜单访问(,并使用USB连接。