我正在关注this guide在API 10上使用com.android.future.usb
库。
我做了以下事情:
<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
的孩子)
res/xml/accessory_filter.xml
。这样做允许我使用com.android.future.usb
及其子类。但问题是在manifest
更改后,应用程序无法启动。
这是一个有根设备,该应用程序由操作系统配置为在设备启动时自动启动。
我应该做任何其他配置才能使这项工作?也许应该在固件中做些什么?
修改
这是包含与usb
:
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
答案 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意图过滤器?