按照常用方法导入失败,版本过低,需要降低NDK版本,并且还会出现各种问题。
原先的方法:
问题1:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file***] couldn't find "libserial_port.so"
解决:
问题2:
/lib/arm/libserial_port.so: has text relocations
解决:
1、在Android.mk文件中加入:LOCAL_LDFLAGS += -fPIC
2、重新编译Google开源库的源码,生成.so库
-
-
从而需要修改build.gradle文件
-
将生成的lib下的文件复制到libs文件夹下(生成文件的位置通过文件搜索libserial_port.so即可找到)
问题3:
java.lang.UnsatisfiedLinkError: No implementation found for java.io.FileDescriptor com.example.test.android_serialport_api.SerialPort.open(java.lang.String, int, int) (tried Java_com_example_test_android_1serialport_1api_SerialPort_open and Java_com_example_test_android_1serialport_1api_SerialPort_open__Ljava_lang_String_2II)
解决:
注意! 我们自己的包名和demo 包名不一致,从而需要新建android_serialport_api这个包,把SerialPort.java等文件放入
以上解决方法参考文章如下: