首先是这么个情况,公司有个智能卡读卡器的硬件设备,现在需要在手机上开发一个app,希望能当这个设备插在安卓上 的时候(通过 OTG 连接),这个app能获取设备读取的智能卡信息。
目前我做了以下一些工作:
1、先测试能不能获取到对应的USB接口,然后我通过API获取 deviceList 发现只能获取到1个(这个设备插在电脑上的时候,硬件管理器是有两个设备的,1个USB,一个智能卡 ),获取的应该是那个USB。
然后我网上搜了一下
http://stackoverflow.com/questions/11183792/android-usb-host-and-hidden-devices 尝试了这个方法,然而发现还是只有一个,然后我不管了,继续往下试。
像普通USB设备一样,获取设备接口,然后发送信息,返回信息。(做到这一步其实我只是想学习一下)。
2、去网上搜了一下有没有类似的APP,然后找了3,4个类似的APP,不过装在手机上并不能识别公司的设备(这应该挺正常的吧),然后反编译一下想看看有什么收获没有,我发现有些APP里有些有 .so文件 , 有些没有,是不是跟这些设备交流并不一定要 C C++ ?
3、网上找找有没有开源的项目,在github找到一个感觉应该是比较靠谱的吧
https://github.com/mikma/androidsc-usb 不过在我用NDK编译那些C C++时,报了这么个问题
arm-linux-androideabi-gcc: error: D:/test/androidsc-usb-master/jni/libusb/androi
d/LibusbSupport/jni/../.git: No such file or directory
我是在windows环境下的。
我就是想问几个问题
1、与 这些CCID设备交流时,是不是一定要用C C++?
2、给我指条路。。。
谢谢