我有一个来自 Google I/O 2011 的 ADK 工具包,我正在尝试让示例应用程序工作(可在此处获得:http: //developer.android.com/tools/adk/adk.html)。
我已按照说明对固件和设备进行了编程,但无法让演示工作。应用程序启动,并在插入时检测到 ADK 板,但随后进入一个循环,在该循环中设备连接然后断开连接非常迅速,导致 UI Activity 不断重启。
我已经调试了几天,并验证了设备在DemoKitActivity.java的 run() 方法中获得了一个 IOException,这导致线程终止,尽管我不确定这是由设备断开。
抛出的异常是:
06-27 23:21:51.284: E/DemoKit(13573): There was an IO Exception
06-27 23:21:51.284: E/DemoKit(13573): at libcore.io.IoBridge.read(IoBridge.java:435)
06-27 23:21:51.284: E/DemoKit(13573): at java.io.FileInputStream.read(FileInputStream.java:179)
06-27 23:21:51.284: E/DemoKit(13573): at java.io.InputStream.read(InputStream.java:163)
06-27 23:21:51.284: E/DemoKit(13573): at com.google.android.DemoKit.DemoKitActivity.run(DemoKitActivity.java:278)
06-27 23:21:51.284: E/DemoKit(13573): at java.lang.Thread.run(Thread.java:841)
06-27 23:21:51.284: E/DemoKit(13573): Caused by: libcore.io.ErrnoException: read failed: EIO (I/O error)
06-27 23:21:51.284: E/DemoKit(13573): at libcore.io.Posix.readBytes(Native Method)
06-27 23:21:51.284: E/DemoKit(13573): at libcore.io.Posix.read(Posix.java:127)
06-27 23:21:51.284: E/DemoKit(13573): at libcore.io.BlockGuardOs.read(BlockGuardOs.java:149)
06-27 23:21:51.284: E/DemoKit(13573): at libcore.io.IoBridge.read(IoBridge.java:425)
一个可能的怪癖是我的设备设置为通过 PTP 进行通信(设置 > 存储 > 菜单 > USB 计算机连接 > 相机 (PTP)。
我还没有更多的信息。我希望有人可以确认 Google 提供的示例代码仍然适用于 ADK,或者可以提供一些关于在哪里查看以调试断开连接的见解。