对比了github上几个开源库,jni逻辑都一样,java层逻辑有一些差别,最终使用了这个开源库https://github.com/IurKwan/ComAssistant
问题记录:
1.不要多个进程操作同一串口,会有奇怪的问题
2.发送数据接收不到,可以参考上面的开源库,增加一些延时处理等
3.release版本close会崩溃,JNI DETECTED ERROR IN APPLICATION: fid == null,保持不被混淆即可解决
4.其实Android系统中是有一个SerialService可供使用的,但是需要将串口号配置到res中 com.android.internal.R.array.config_serialPorts,有的系统没有按照这个规范,导致这种方式不可用