答案 0 :(得分:2)
听起来你的加密狗提供了一个串行接口,所以你有两种广泛的选择:
<强> 1。你可以让linux级驱动程序创建一个串行接口
您将需要创建串行设备(/ dev / ttyUSB0或/ dev / ttyACM0等)设置权限以允许所有用户访问。或者,您可以将权限设置为仅允许访问硬编码的unix级用户组ID,并修改Android安装以添加新的Android权限,从而导致该unix组中应用程序的用户ID成员身份,以便它可以访问港口。 (请参阅如何处理Internet和外部存储权限,以便以任何应用程序可以使用的方式执行此操作,或者如何针对受限示例处理无线电设备)然后使用普通的Linux串行API从NDK访问端口代码或Java串行API,用Java代码完成。
<强> 2。您可以禁用任何Linux级驱动程序,并从Android应用程序代码
与原始USB设备通信首先检查您使用的Android版本是否具有USB主机API;如果没有,您将需要先升级它。此方法需要较少的Android自定义,但可能需要更多地了解与加密狗的实际USB通信。但是,您可能会从Android应用程序中跟踪与类似设备通信的示例代码。