我知道,除非设备是根设备,或者在BeagleBone Black板上闪存了自定义的Android版本,否则Android不会提供对串行端口的开箱即用访问,这正是我的情况。
使用
Android SerialPort API project
我能够通过示例GUI应用程序(略有修改)访问和测试设备的串行端口。
然而,我还想为SerialAPI添加JUnit测试,因为我将把它扩展为客户端程序员使用的库模块。我尝试使用AndroidTestCase,但收到错误:
java.lang.UnsatisfiedLinkError: Native method not found:
com.XXX.android.serialport_api.SerialPort.open:
(Ljava/lang/String;II)Ljava/io/FileDescriptor;
at com.XXX.android.serialport_api.SerialPort.open(Native
Method)
at com.XXX.android.serialport_api.SerialPort.<init
(SerialPort.java:32)
在我看来是串行端口。因此文件在AndroidTestCase提供的模拟环境中不加载/不可见。
我使用的是AndroidStudio中“新建模块”向导创建的标准测试结构。
任何建议或提示都将不胜感激,因为我对该主题的搜索没有结果。如果需要,我很乐意提供测试类和实现(尽管实现与上面引用的开源示例中的SerialPort.java类几乎相同)。