2016-02-25 116 views
0

我正在运行的4.2.2版本的Android POS设备上我需要使用serialPort api与打印机进行通信我已配置gradle创建libs文件夹压缩与生成.apk文件Android问题加载.so文件

02-25 10:18:59.956 29180-29180/com.amedora.slrtcpos E/linker: load_library(linker.cpp:771): too small to be an ELF executable: /data/app-lib/com.amedora.slrtcpos-1/libserial_port.so 
02-25 10:18:59.956 29180-29180/com.amedora.slrtcpos E/dalvikvm: dlopen("/data/app-lib/com.amedora.slrtcpos-1/libserial_port.so") failed: Cannot load library: load_library(linker.cpp:771): too small to be an ELF executable: /data/app-lib/com.amedora.slrtcpos-1/libserial_port.so 
02-25 10:18:59.970 29180-29180/com.amedora.slrtcpos E/AndroidRuntime: FATAL EXCEPTION: main 
java.lang.UnsatisfiedLinkError: Cannot load library: load_library(linker.cpp:771): too small to be an ELF executable: /data/app-lib/com.amedora.slrtcpos-1/libserial_port.so 

This is the structure of JNI folder

我需要帮助谁能告诉我,为什么跟它太小,是一个ELF可执行

+1

我找到了解决方案...我.so文件是空的,当我解压缩apk并检查它的大小,我发现它是0 kb的文件。我发现它与我配置的jni文件配置问题有关,并且通过命令提示符执行了ndk-build,它工作正常 –

回答

1
too small to be an ELF executable: /data/app-lib/com.amedora.slrtcpos-1/libserial_port.so 

表示您有一个具有上述路径的零长度文件。

+0

是的,那正是发生了什么事 –