公司最近有个Android机门禁的项目,需要用到串口通信。因为自己一起从来没有接触过Android的串口,算是从零学习Android串口通信。因为自己有一些条件,所以google和百度都有用到,最先查到的资料是google在2012年的一个开源串口通信项目,几乎国内所有的串口通信都是从那里参考做出来的。我把这个项目贴出来https://code.google.com/archive/p/android-serialport-api/:但是很遗憾,这个项目只能下载到它的Apk,并下载不到源码,我觉得很是奇怪。在我的继续搜索下,我在github上找到了这个工程的源码,我把github的地址贴出来:https://github.com/cepr/android-serialport-api。下载这个项目,用Andoird Studio打开,会发现这个项目很老了,并不是在AS下开发的,而是在Eclipse下开发的。也就是说直接用肯定是不行了,但是这个工程里有很多重要的源码和文件我们需要加已利用。首先是jni文件夹里的所有文件,它是用C++语言编写的串口调用文件,说来惭愧,这些文件,我看不懂,我只是把它们一股脑复制出来。里面有C++文件,C++的头文件,还有2个mk文件,还有一个.sh文件我不知道是干嘛用的。这里打开我们自己的工程,创建一个cpp文件夹,用以存放刚刚我们复制的这些文件。创建过程如下:

创建好了,把刚刚那5个文件复制进去。在此我遇到一个非常具体的问题,我在网上找的所有资料都是把Google那个开源项目的.so文件复制到jniLibs这个文件夹里直接使用。我刚开始也是照着这么去做,编译可以通过,但是一旦上真机运行程序就崩溃,抛异常,我写这篇文章的时候这个问题已经解决了,所以没办法截图那个异常,那个异常大概意思就是说.so文件不对,有安全方面的隐患。所以.so文件不能直接用,那怎么办呢?在此我们需要用C++文件自己去用NDK重新生成.so文件。
这里我们打开AS的Terminal,进入到jni文件夹中,然后输入ndk-buil
记录一下自己在Android环境下调试串口通信的过程
最新推荐文章于 2025-11-16 15:12:08 发布
本文记录了作者在Android机门禁项目中进行串口通信的调试过程,包括从零学习Android串口通信,参考谷歌2012年的开源项目,解决.so文件安全问题并使用NDK重新生成,以及在调试过程中遇到的挑战和解决方案。

最低0.47元/天 解锁文章
381





