出于某种原因,我收到错误消息Package X requires unavailable shared library com.android.future.usb.accessory
。
此库包含在 Project Explorer 中的项目文件夹下。[项目文件夹] -> Google APIs [Android 2.3.3] -> usb.jar -> com.android.future.usb -> UsbAccessory.class, UsbManager.class。
我正在使用 Google API 2.3.3 (API 10)。我需要它,因为我将它连接到 Arduino USB Host Shield。到目前为止,我一直在手机上进行调试,但现在我需要日志和调试信息,因为我的程序由于某种原因没有发送数据,我不知道为什么。当我将程序连接到我的计算机(而不是使用 AVD)时,该程序至少会加载并执行某些操作。使用模拟器,什么都没有加载。
我正在使用带有 Android 4.2.2 (API 17) 的 Android 虚拟设备。
我的清单包括以下内容:
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
<uses library android:name="com.android.future.usb.accessory"></uses-library>
<activity android:name="ArduinoActivity" android:label="@string/app_name" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/accessory_filter" />
</activity>
</application>
更新:我已将我的 API 更改为 Android 3.1 (API 12)。我已将库更改为 android.hardware.usb.accessory(而不是 com.android.future.usb.accessory)。出于某种原因,我仍然从 PackageManager 收到错误(这次是新库)。我注意到它正在从清单中提取该库名称。有什么想法吗?仍然有同样的问题!
更新解决方案:我忘记更改<uses-library />
为<uses-feature />
. 有关适用于 USB 和 USB 配件的 Android 与 Google API 的更多文档:http: //developer.android.com/guide/topics/connectivity/usb/accessory.html