因工作需求调试串口需要使用Android_Serialport_Api这个项目中的类来做调试,在查阅官方文档和各路大神的文章后终于完成了这方面的调试,为了加深记忆,就把这部分的心得记录了下来。
1.下载配置
Android_Serialport_Api这个工程项目被托管在Google的代码库和GitHub上,下载地址贴出来:
Google https://code.google.com/p/android-serialport-api/
GitHub https://github.com/cepr/android-serialport-api
这个工程内我们要使用的只有部分文件:
1.JNI相关文件, 在android-serialport-api/project/jni目录下:
Android.mk
Application.mk
SerialPort.c
SerialPort.h
gen_SerialPort_h.sh
这些文件是利用NDK生成so库的文件,如果不需要修改底层.c文件的源码直接调用理论上是不需要修改这些文件的。gen_SerialPort_h.sh可以不用复制。JNI的配置,见下图:
在工程目录main下应该会生成一个jni文件夹,只需要把下载的jni相关文件复制粘贴进去就行了。
2.so库,在android-serialport-api/projcet/libs目录下,如果不想使用NDK生成直接下载放在工程目录下,导入的方法参见:
http://blog.csdn.net/huangximin1990/article/details/50441400
文章里说的很清楚了,但是在这里推荐使用第一个方法;
3.工具类,在android-serialport-api/project/src/android_serialport_api路径下
SerialPort.java
SerialPortFinder.java
SerialPortFinder用来查找可用的串口,如果已知串口的文件地址,只需要下载SerialPort.java文件即可,注意:如果未修改过,该文件一定要放在工程目录下\app\src\main\java\android_serialport_api文件夹中,原因见第四步。
2.SerialPort类解析
到这里,就可以在程序里调用SerialPort类了,他的构造函数的参数如下,同时给出一个实例:
/*
@param device 串口文件
@param baudrate 比特率
@param flags 标记 通常为0
*/
public SerialPort(File device, int baudrate, int flags) throws SecurityException, IOException
//ttyS4,比