包X需要不可用的共享库com.android.future.usb.accessory

时间:2013-04-16 19:48:14

标签: android android-emulator usb arduino

出于某种原因,我收到错误Package X requires unavailable shared library com.android.future.usb.accessory

此库包含在Project Explorer中的项目文件夹下。 [项目文件夹] - > Google API [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 />。有关Android和Google API for USB&amp ;;的更多文档USB配件:http://developer.android.com/guide/topics/connectivity/usb/accessory.html

1 个答案:

答案 0 :(得分:1)

USB附件模式不适用于API 2.3.3,仅适用于2.3.4及更高版本。 Read here.