2

我有一台运行 Android Froyo 2.2 的爱可视 a28 互联网平板电脑。我有一个 HID 输入类设备,我想在 Android 上工作。平板电脑本身已经能够开箱即用地处理鼠标和 USB 闪存驱动器。

我想用 a28 连接我的 USB 设备。它是一种定制设计的设备。我需要能够从设备读取和写入原始 USB 输入和输出报告。

我怎样才能做到这一点?我听说可以创建一个模块来执行此操作。

4

1 回答 1

1

本质上你需要做两件事:

首先,您需要让自定义 USB 设备与 linux 一起使用。最终,平板电脑上的 android 堆栈底层的 linux。但首先,您可能想让它与桌面 linux 一起工作,这样更容易进行交互实验。可能这将涉及加载甚至修改内核驱动程序,并可能设置规则以使其自动加载。一旦你做到了,记录你做了什么,并为安卓平板电脑的 linux 做同样的事情。这几乎肯定需要root。在 android 上下文中,连接时自动加载驱动程序的方法可能不同,但驱动程序本身基本相同,只是针对适当的内核编译。

其次,您需要使设备对应用程序可用。如果您只想将其提供给自定义程序,您可以通过与设备文件直接交互或在 /proc 或 /sys 中创建某些内容来实现此目的。有争议的是,这些文件要么是全球可访问的,要么你必须将另一个特殊的组 ID/android 权限对修补到堆栈中,并让该组拥有该文件,以使其可用于具有该 android 权限的应用程序。更复杂的方法是编写一个管理设备的低级服务,并通过通常的基于 binder 的 android 服务通信机制将其公开给 android 应用程序。

于 2011-02-24T18:10:21.783 回答