如何在android里面搭建JNI實現SerialPort編程,我就不詳細介紹了,因為網上資料一堆。
串口開發需要Root權限。
我這文章主要是解答在使用SerialPort通訊時出現的問題。
存放SerialPort對象的包名必須和JNI中SerialPort.c調用它的類所在的包名一致。一旦存放SerialPort對象的包名與鏈接庫中函數的命名不相符,就不能調用鏈接庫的函數
你們一定會問?為什么我在網上下載的demo里面沒有這么多文件,但是也可以通訊呢?因為這是為兼容android高版本下能夠正常調用串口去通訊,如果需要附件請留言
這個錯誤是最容易產生的。因為很多網上demo都是bin來的。但是實際有些android路徑是xbin來的。建議最好去看下system下的路徑是什么
還有一個關于生產廠家串口的名字與實際串口名字不一致的問題:
如果遇到實際串口名字與廠家標示的串口名字不一致的話,不要著急?。∧阒恍璐蜷_dos然后輸入圖片命令就可以查看廠家標識的串口對應的實際串口名了。
查看設備串口
輸入之后就會彈出如下圖
廠家標識的串口名->實際串口名
另外個人建議:向串口發送命令時,最好放到子線程里面去發送。接受串口返回結果時,只需開一個子線程循環接受即可。
當確定不需要再調用串口時,切記一定要調用SerialPort中的close方法去關閉。