使用`com.android.future.usb.accessory`库时,应用程序无法启动

时间:2015-10-06 05:57:26

标签: android usb

我正在关注this guide在API 10上使用com.android.future.usb库。

我做了以下事情:

  • 从SDK Manager安装了Google API 10: GoogleAPI10
  • 选择Google API 10作为我的项目构建目标: ProjectTarget
  • 将这些内容添加到manifest

<uses-feature android:name="android.hardware.usb.accessory" /><manifest>)的直接孩子

<uses-library android:name="com.android.future.usb.accessory" /><application>的孩子)

<meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/accessory_filter" /> (第一个activity的孩子)

  • 如上所述here创建了res/xml/accessory_filter.xml

这样做允许我使用com.android.future.usb及其子类。但问题是在manifest更改后,应用程序无法启动。

这是一个有根设备,该应用程序由操作系统配置为在设备启动时自动启动。

我应该做任何其他配置才能使这项工作?也许应该在固件中做些什么?

修改

这是包含与usb

相关的所有内容的logcat
USB mass storage support is not enabled in the kernerl
usb_configuration switch is not enabled in the kernerl
Volume usb state changing -1 (Initializing) -> 0 (No-Media)
Ignoring unknown switch 'usb_connected'
Package com.example.gui requires unavailable shared library com.android.future.usb.accessory: failing!
Skipping unknown volume '/mnt/usb'
USB Service
This kernel does not have USB configuration switch support

1 个答案:

答案 0 :(得分:-1)

the application won't start并不清楚你的意思。

如果您希望应用程序启动automatically on device startup。这有说明:How to start an Application on startup?

如果问题是应用程序无法编译,则需要更多有关遇到的错误的信息。

您提到您根据所提供的链接更改了清单。该示例还包含清单中activity元素的intent-filter标记,您没有提及。因此清单中的activity元素将有两个intent-filters:

        <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar" >
        <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>

那么,您的应用程序无法启动可能是因为您从活动清单中删除了MAIN / LAUNCHER意图过滤器?