如何将开发主机PC的USB COM端口设置为Android虚拟设备的USB端口?

问题描述:

我是Android开发人员的新手,但对嵌入式系统有一定的经验。如何将开发主机PC的USB COM端口设置为Android虚拟设备的USB端口?

我想使用Android手机(4.x或更高版本)通过其USB端口控制其他设备。我们希望将Android设备设置为USB host,所以其他设备扮演主角的解决方案(例如Android Open Accessory Development Kit的Arduino)将无法实现我们的目标。

我们目前正在使用Eclipse-SDK进行Android开发,并成功编译/运行/调试了几个应用程序。但是,我有一个非常天真的问题。我想知道是否有一种方法可以将开发主机PC的USB端口用作Android虚拟设备仿真器的输入。

我意识到调试我们正在编写的USB主机应用程序的更简单的方法将是通过一个真实的设备。但是,新冰淇淋三明治设备的价格远远不能满足我们的需求,而且也不是在早期阶段调试应用程序的理想方式。

我很感激你能给我提供的任何帮助。

+0

我强烈建议你不要走远进入这个项目,而没有一个实际的设备进行测试。很有可能您在使用模拟器时弄明白的任何东西都可能无法传输到真实的设备上,并且您在模拟器上投入工作时所获得的收益会很小。 – FoamyGuy 2011-12-30 17:02:42

+0

感谢您的快速回复,蒂姆!我们有一个HTC Desire已被设置为我们的宠物设备一段时间。我们已经对它进行了多次实验,并计划在使用CyanogenMod-9后立即对其进行MOD修改。不管它不是一个纯粹的ICS设备,你认为它可以作为我上面描述的USB主机应用程序的测试平台吗? – nanoeng 2011-12-30 17:12:22

Android开放配件开发套件已经被移植到2.3.4看到这里http://developer.android.com/guide/topics/usb/adk.html

所以你的HTC渴望安装CM7或更早版本(http://www.cyanogenmod.com/),你应该是好去!

看看2.3 SDK的示例项目应该能帮助你朝着正确的方向前进。

路径SDK样品对我来说是C:\ Program Files文件\的Android \ Android的SDK \样本

如果您寻找USB主机支持基本上控制聊到其他USB设备,如鼠标,键盘,USB拇指驱动器等下面应该帮助。

歌Nexus One作为USB主机:http://sven.killig.de/android/N1/2.2/usb_host/

USB主机:External USB devices to Android phones?

官方Android SKD UsbDevice类:http://developer.android.com/reference/android/hardware/usb/UsbDevice.html

+0

感谢您的回复,Bigamil!我安装了CM7并查找了您提到的USB示例。但是,我无法在** android-10 **文件夹下找到任何内容。 USB示例在API 12(Android 3.1)之后开始出现。另一方面,我不确定Open Accessory Device的功能能否为我提供我期待的托管要求。我早些时候使用Arduino开发板探索了这个选项,但是我们肯定希望在手机本身拥有**托管功能,而无需使用外部微控制器。 – nanoeng 2012-01-03 16:42:00

+0

一个12的例子应该在10个API中进行一些小的修改,因为API被反向移植。您需要USB主机支持。我更新了我的答案以反映这一点。让我知道你的想法。 – bigamil 2012-01-03 21:22:26

+0

感谢您更新您之前发布的答案。我会尝试Sven Killig的方法。 – nanoeng 2012-01-03 23:04:25

你应该在这个项目中来看看,它是一个很好的参考

https://code.google.com/p/mover-bot/

+0

感谢您的链接!真的很酷的项目! – nanoeng 2013-12-20 00:22:07

+0

不客气,它是一个很好的入门资源。我之前已经联系过开发者,他的反应非常快,我确信他不会介意更多:)祝你好运 – anders 2014-01-06 16:48:44