我正在尝试获取 DemoKit example在 ADK 板上工作。似乎即使是 3.1 更新 Galaxy Tab没有它需要的一切(或者至少不能像宣传的那样工作)。即使仔细阅读文档,Samsung Kies 应用程序似乎也可能成为障碍。
如果我按照说明使用 API 级别 10 库,它不会运行(通过调试器我看到这个异常:java.lang.NoClassDefFoundError: com.android.future.usb.UsbManager
).如果我使用 API 级别 12 库,也会发生同样的事情。
将目标设置为 3.1 平台(只需在项目属性中更改它)它不会编译(由于使用了 com.android.future.usb
库)。我找到了 some changes 的一些文档你必须做的才能在 3.1 上使用 USB 包,从那以后,这些是我对 DemoKitActivity.java 所做的更改
37,38c37
< import com.android.future.usb.UsbAccessory;
< import com.android.future.usb.UsbManager;
---
> import android.hardware.usb.*;
128c127
< UsbAccessory accessory = UsbManager.getAccessory(intent);
---
> UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);
139c138
< UsbAccessory accessory = UsbManager.getAccessory(intent);
---
> UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);
152c151
< mUsbManager = UsbManager.getInstance(this);
---
> mUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
即使在进行了这些更改之后,我仍然遇到了问题。它现在安装并且 DemoKit 应用程序的初始屏幕出现了“请连接 DemoKit 板”,但是每当我连接 ADK 板并关闭 USB 调试(有了它,它什么都不做),我就得到了Samsung Kies 应用程序显示“按主页键退出 Samsung Kies”并且其他按钮无响应。点击主页并返回到 DemoKit 应用程序只会再次显示连接屏幕,它从未真正连接到电路板。
如何让它发挥作用? ADK 是否适用于 Galaxy Tab 10.1(Google I/O 版)?如果适用,我的方向是否正确?
更新
无论平板电脑上的 Debug模式是打开还是关闭,Arduino 串行监视器都会显示以下内容(需要将波特率设置为 115200 才能读取输出):
Device addressed... Requesting device descriptor.
found possible device. swithcing to serial mode
Data packet error: 5could not read device protocol version
它在插入平板电脑时不断重复。
更新 2
我意识到我没有更新 AndroidManifest.xml
文件...更改:
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="11" />
到
<uses-sdk android:minSdkVersion="12" android:targetSdkVersion="12" />
和
<uses-library android:name="com.android.future.usb.accessory"/>
到
<uses-feature android:name="android.hardware.usb.accessory"/>
一旦我纠正了这个问题,它似乎并没有改变任何东西。
更新 3
我已经给三星支持发了邮件,正在等待回复。
最佳答案
抱歉,配件模式目前不适用于 Samsung Galaxy Tab 10.1。三星已意识到该问题并正在努力解决。当设备支持配件模式时,您应该能够使用 com.android.future.usb.* API,这将使您更轻松地编写适用于 Android 3.1 和 2.3.4 的应用程序。
关于android - 如何让 ADK DemoKit 示例在 Google I/O Galaxy Tab 10.1 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6355031/