首页 文章

Windows上基于软件的Android附件

提问于
浏览
6

我想使用我的应用程序将计算机变成Android附件 . 因此,与专用硬件不同,这将只是将手机切换到配件模式的PC,从而在与主机硬件相关联的手机上启动一些Java应用程序并创建通信通道 .

我在Linux上使用libusb找到了sample code(加上一些Java Android应用程序) . 它通过"opening"使用标准VID和PID工作 . 然后它发送command to turn on the accessory mode,以及模型,版本等元数据 .

如果手机支持配件模式,它将断开并重新枚举不同的PID . 然后,示例代码检查它是否执行并打开新设备 .

但是,我发现了一些USB库,比如LibUsbDotNet,但它们似乎都要求设备使用WinUSB / libusb驱动程序 . 我想在可能的情况下将手机作为可移动驱动器进行访问,因此这不是一个解决方案 .

Is there a way (preferably a library) that can open any connected USB device based on VID and PID, and then send a few raw commands to it?

之后,设备将使用不同的PID重新枚举,我可以使用它来创建自己的WinUSB驱动程序,因此这不是问题 . 我只需要通过/围绕默认驱动程序注入一些命令来打开附件模式 .

(我更喜欢.NET解决方案,但任何Windows都可以,我可以编写自己的互操作包装器)

1 回答

  • 0

    我也在寻找类似的解决方案 . 我尝试了Linux版本,带有libusb,只有很少的hickup,能够与设备通信 . 在Windows上搜索解决方案时,我尝试了许多黑客攻击 . 如果需要在ADK模式下与设备通信,我需要发送几个Vendor Commands,现在我需要在Mass Storage模式下连接它 . 使用Mass Storage驱动程序是不可能的 . 我试图获取连接USB设备的Node句柄以查看是否可以发送供应商命令,但在那里我只能提交Get Descriptor请求 . 所以我去了丑陋的方法,用libusb-win32替换了大容量存储驱动程序,看它可以做同样的事情,是的,它有效,但根本不是一个好的解决方案 .

    仍在搜索中..

相关问题