我对这个领域很新。实际上我只是开始研究可能性。
我的问题的简单版本是,开发驱动程序(比如USB< - > Serial)需要什么,将其部署到Android手机(商业产品,而不是自定义产品)并编写应用程序利用它?这甚至可能吗?
这是一个更长的版本。
我已经有过Windows驱动程序开发的经验和一些Linux驱动程序的知识。我也做了一些研究。我所知道的只是NDK。我不知道的是:
我发现的所有引用似乎都意味着驱动程序开发是在设计设备时完成的,而不是用于攻击现有设备。是这样的吗?
如果可能,如何部署?驱动程序是否必须与内核集成到ROM和刷中?
如果设备不支持USB主机,是因为硬件设计还是软件中缺少的东西,或两者兼而有之?
很抱歉这个问题很长。有关此字段的任何建议都会有所帮助,因为我有其他计划涉及从头开始构建Android设备。谢谢你的时间。
顺便说一句,ADK对于我的应用来说太昂贵了(至少现在),所以它已经不合时宜了。
答案 0 :(得分:0)
1.,2。您无法在无根库存ROM中注入自定义驱动程序。要注入驱动程序,您的用户将需要根设备或完全自定义ROM。
3.-这取决于设备。有些人可以用自定义软件做USB主机,有些则不行。
查看Android Open Accessory Development Kit。有了这个,您可以构建一个带有串口的电路板,通过Android附件协议与Android 2.3.4+和Android 3.1+设备进行通信。
答案 1 :(得分:0)
Honeycomb可以为USB主机和使用它的一些功能提供标准化支持,并且许多蜂窝设备似乎都有端口,但我不知道蜂窝中是否有标准说它应该附带USB<>上游linux内核中提供的串行驱动程序。
对于所有早期版本,任何可能性都将取决于设备并需要root访问权限。
ADK适用于最新的Android版本,但正如您所说,它是一个非常不理想的解决方案,因为它将所有复杂性放在附件中,并且还需要提供总线供电,这两者都是“向后”的通常的情况。
答案 2 :(得分:0)