我正在尝试使用适用于Android的ePOS-Print SDK。
它在ARM设备上运行良好。只是不在x86设备上。
库是仅在ARM设备上运行还是有办法使其在x86设备上运行?
04-17 09:11:53.390 10989-12211/at.test.test E/art: dlopen("/data/app/test.test-2/lib/x86/libeposprint.so", RTLD_LAZY) failed: dlopen failed: "/data/app/at.test.test-2/lib/x86/libeposprint.so" has unexpected e_machine: 40
Process: at.calyx.calyxpos, PID: 10989
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/at.test.test/lib/x86/libeposprint.so" has unexpected e_machine: 40
at java.lang.Runtime.loadLibrary(Runtime.java:371)
at java.lang.System.loadLibrary(System.java:989)
at com.epson.eposprint.Builder.<clinit>(Builder.java:17)
答案 0 :(得分:2)
我认为这会对你有帮助
将此行放入gradle.properties
android.useDeprecatedNdk=true;
和app / build.gradle中的defaultConfig字段中的这一行
ndk {
abiFilters "armeabi", "armeabi-v7a","x86"
}
答案 1 :(得分:1)
我认为您需要为x86构建“libeposprint.so”文件。
答案 2 :(得分:0)
尝试在Android x86上运行ARM应用程序时出现了类似的错误。我可以通过安装libhoudini
:
Settings -> Apps Compatibility -> Enable Native Bridge
Alt-F1
)su -
cd ~
/system/bin/enable_nativebridge
logcat -T 10