PC客户端与Android服务端的USB同步通信
大家好,我现在想实现一个Andriod设备和PC通信的项目,项目需求是:
在PC端或者MAC安装一个软件,用USB连接Android设备,然后安装驱动,系统识别到Android 设备,通过我们已经安装的软件向Android 设备传输图片,视频,音乐,APK应用程序等文件并存在相应的目录,WIFI的方式我们已经实现了,公司希望用USB在做一套。
我参考了这个例子http://www.eoeandroid.com/thread-92831-1-1.html,但是发现几个问题:
在这个USB通信程序有几个弊病:
第一:Android 设备上必须打开Debug 模式。
第二:PC端必须需要ADB实现端口转发。//Runtime.getRuntime().exec("adb forward tcp:12580 tcp:10086");
当运行程序进行Android和PC端通信的时候,如果你在windows任务管理器中把ADB.exe关闭的话,这个时候向Socket读写数据会出现异常,因为整个程序是建立在ADB端口转发机制之上的,所以我的理解是整个通信过程必须依靠ADB来维持端口转发。
由于这两个弊端,有没有可能用另外的方式来替代ADB实现端口转发呢? 因为ADB的LINCENSE是不准发布的,你的产品发布的时候要受到这个版权限制。
请问大家有更好的其他方式来替代ADB的端口转发命令?或者其他方式实现USB和PC通信的吗?因为我发现豌豆荚或者360的手机管家都可以实现USB通信的功能,大家知道360或者豌豆荚是如何实现不需要ADB的情况下USB互相通信呢?