Android专题

Android-串口(通过jni技术生成自己的so)

2019-03-18  本文已影响58人  蘑菇v5

【声明:】本文是作者(蘑菇v5)原创,版权归作者 蘑菇v5所有,侵权必究。本文首发在简书。如若转发,请注明作者和来源地址!未经授权,严禁私自转载!

最近在研究物联网这块,扫描机和打印机设备都需要串口与安卓板子(嵌入式设备支持RS232)通信,感觉串口通信在未来智能设备中应用会很广泛,特写此文简略记录一下过程

什么是jni?

什么是串口?

串口通信偏向嵌入式一点,是Android设备通过串口与其他设备进行通信的一种方式,主要用于数据被逐位按顺序传送的通讯方式称为串口通讯(简单来讲就是按顺序一位一位地传输数据),常见的串口有25针和9针(遵循RS-232标准),串口调试工具

为什么要通过jni生成so?

官方给出的代码是eclipse工程,SDK的版本也比较旧。我们使用的Android Studio,如果直接使用google提供的so库文件是访问不了串口的,因为项目包名并不一致。而且现在市面上几乎所有的Android串口通信库都是用的Google开源封装而成, 但是很多第三方库质量参差不齐,出了问题也不知道是什么原因,因此自己基于官方提供相应的JNI文件来封装.so就显得犹为重要。

现在android studio打包so文件有两种方式,第一种是ndk-build编译项目,还有一种用CMake脚本构建项目,今天主要介绍CMake脚本的编译过程,因为我的开发工具Android Studio是3.2.1的版本,搭建NDK开发环境后,创建的项目就是CMake脚本构建的,所以就研究CMake脚本构建.so把,因为16年的时候,用ndk-build编译过,顺便学习一下CMake脚本构建。

step1:安装NDK和CMake工具

安装NDK和CMake工具

step2:创建项目

流程如下图所示:


1 2
3
4
5

step3:修改几处重要的地方

SerialPort. c配置
SerialPort.h配置 CMakeLists配置1
CMakeLists配置2 app下build.gradle配置
编译
生成so

step4:应用so

修改SerialPort代码中的so名称 识别出来的数据

参考文章:
aar方式
ndk搭建
ndk-build编译项目
ndk搭建和ndk-build编译项目
ndk-build编译串口的so
Android 串口开发
串口通讯学习
android studio 使用CMAKE
Android NDK开发:JNI基础篇

上一篇 下一篇

猜你喜欢

热点阅读