最近项目增加了个需求,需要直接操作串口,在网上搜了一下,发现谷歌有一个库
地址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"
        }
    }

cmake配置
这时候会说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);

源码地址:https://github.com/azui007/ndk2/tree/master

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐