使用Android编程Usb连接

时间:2012-04-27 16:45:08

标签: android android-ndk connection usb

我已经在Andorid上开了一个项目,但我不太了解NDK。我想根据usb端口上的接收消息发送自定义数据。我看到一些应用程序可以在USB端口上发送/接收自定义数据,如果手机处于恢复状态。我以前在windows中编写了usb连接。但我还没有任何线索,我应该从哪里开始android。有没有关于android的usb编程的文档?如果NDK不适合实现这一点,我有哪些选择?如果应用程序是特定于设备的,那么这一点并不重要。

1 个答案:

答案 0 :(得分:3)

问题更多的是系统架构和权限,NDK提供的领域几乎不超过SDK。

Android并不真正支持(直接)自定义使用USB端口,至少在设备连接到计算机时(当设备托管USB外围设备时有一些最近的选项)。除非您想对在您的设备上运行的Android安装进行实质性修改,否则在恢复模式下可能出现的情况基本无关紧要。

通常,在设备和托管PC之间进行应用级通信的唯一实用方法是通过USB电缆使用IP网络范例。您可以通过在设备上启用USB调试并在PC上安装大部分Android SDK,或通过启用某些形式的网络共享来实现此目的,这可能会创建一般网络作为副作用。

对于SDK方法,请阅读adb port forward,包括PC端必须启动连接的限制。

也可以创建自定义驱动程序,让PC假装成一个Android附件套件(ADK)电路并使用与之相关的apis。

不幸的是,几乎所有这些想法都比普通的消费者应用更适合开发人员/高级用户。对于消费者应用程序,大多数开发人员忽略USB电缆并通过WIFI进行IP网络连接,要求用户将设备和PC放在同一网络上,或通过PC和设备移动网络都可见的Internet服务器进行代理。