Android USB Host的使用详解

作者:童虎
编辑:3D视觉开发者社区

Android USB Host的使用详解

【废话一段】

这段时间,我的小组正在开发一个Android主机的系统,这个系统需要外接USB的指纹机、读卡器、U盘,硬件已经有了,主机是一个开发板接口丰富,并且支持Android USB Host模式,外设自然不用说。

但是碰到了一个问题,驱动!本来这个项目是源于Windows的,外设全部是针对Windows而开发的,如果要用专门的驱动,那么开发Android本身就需要复杂的过程。后来经过硬件工程师的改造,我们将USB换成了HID模式,减轻开发难度。

经过一段时间搜索网上资料,关于Android USB Host的资料可以说非常少,不是少数,而是几乎雷同。我是百度+google,更换无数中英文关键字,最后我如愿完成自己的项目,和HID设备正常通讯了,并且识别了U盘。对于网络上中文资料的少而单一的现状,我决定自己写一篇文章,让同行们少走弯路。

我的代码参考了来自“开源中国”部分资料,如果有解决不了的,可以在那里查询。

【基础功能】

注意:本文的步骤,可能需要你具备Root的权限,否则有些操作可能会无法完成。强烈建议你先root设备。

  • 步骤一:你必须确定你的Android设备支持USB Host,具体如何确定啊,还是看设备的说明书吧。如果支持,进入下一步骤。

  • 步骤二:确定Android有没有开启USB Host的权限,必须是开启的才能通讯。首先用RE文件管理器(或者连接Eclipse时使用DDMS查看),反正要能进入以下目录:/system/etc/permissions。

    你应该要能看到目录有一个“android.hardware.usb.host.xml”,一个“handheld_core_hardware.xml(手机)”或者“tablet_core_hardware.xml(平板)”,
    如果看不到“android.hardware.usb.host.xml”,那么就用记事本写入以下代码,保存,然后PUSH或粘贴到/system/etc/permissions目录下。

<permissions>
<feature name="android.hardware.usb.host"/>
</permissions>
  • 步骤三:拷出“handheld_core_hardware.xml(手机)”或者“tablet_core_hardware.xml(平板)”文件,怎么操作?我是用Eclipse的DDMS中的File Explorer把文件pull出来的,还可以用其他方法。

    打开文件,你应该可以看到结点下面有不少东西,检查有没有一段:<feature name="android.hardware.usb.host" />

版权声明:本文为奥比中光3D视觉开发者社区特约作者授权原创发布,未经授权不得转载,本文仅做学术分享,版权归原作者所有,若涉及侵权内容请联系删文。

3D视觉开发者社区是由奥比中光给所有开发者打造的分享与交流平台,旨在将3D视觉技术开放给开发者。平台为开发者提供3D视觉领域免费课程、奥比中光独家资源与专业技术支持。

点击加入3D视觉开发者社区,和开发者们一起讨论分享吧~

或可微信关注官方公众号 3D视觉开发者社区 ,获取更多干货知识哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值