1、android.mk 在serial_port.c中,JNI的本地方法 open必须与当前的包名一致,否则在安卓调用时会出现错误, unsatisfiedLinkError : *******, 断点可以看到;
这个坑也是猜着猜着,然后自己改好了;注意,C语言中的open方法必须格式 JNICALL Java_cn_com_qrcodesoftchip_SerialPort_open (在SerialPort.java中我的包名是 cn.com.qrcodesoftchip)
2、安卓中 serialPort.java中 loadLibrary("serial_port"),此处必须与 app的 build.gradle中的 ndk { moduleName "serial_port" }一致,且与 jni文件中的 serial_port.c一致,并不要求与 libserial_port.so一致
3、不能随意拷贝 libserial_port.so,要将 mk和c文件修改好,本地化好了之后,运行 ndk-build,生成自己的so文件;(可以命令行,亦可以 external Tool IDE)