最近项目增加了个需求,需要直接操作串口,在网上搜了一下,发现谷歌有一个库
地址https://github.com/cepr/android-serialport-api
本文主要讲述内容如下:
- 环境配置
- 串口基本操作
1,复制Java文件
下载https://github.com/cepr/android-serialport-api到电脑。
在项目名/app/src/main/java下创建android_serialport_api目录(目录名不要改)
将android-serialport-api/android-serialport-api/project/src/android_serialport_api/目录下的SerialPort.java和SerialPortFinder.java复制到android_serialport_api目录下
2,创建JNI目录,复制c文件
在main目录右键New—Folder—JNI Floder—Finish
将SerialPort.c和SerialPort.h复制到生成的cpp目录下
3,修改modue的gradle,设置JNI
在defaultConfig段落添加cmake设置
externalNativeBuild {
cmake {
cppFlags ""
}
}
在defaultConfig同级设置cmake
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
这时候会说CMakeLists.txt找不到
可以通过AS创建一个JNI项目,把项目中的CMakeLists.tx文件复制到相应位置,我这里是项目名/app/下
3,基本使用方法
这里我直接复制了benjaminwan的几个工具类(具体的地址找不到了)
com = new SerialControl();
//串行端口终端
com.setPort("/dev/ttyUSB8");
//波特率
com.setBaudRate("9600");
//打开串口
openComPort(com);
//发送数据
com.sendHex("XXXXX");
//关闭串口
closeComPort(com);