android - EPSON 问题,找不到 "libepos2.so"

标签 android fatal-error thermal-printer epson

在我将 mSwipe(Card Swiper) 与我的 Android 应用程序集成之前,EPSON 网络打印机一直运行良好。

现在集成后 mSwipe 可以正常工作,但有关 EPSON 的一切都崩溃了。

libepos2.sosrc/main/jniLibs/armeabi/libepos2.so 但它仍然说找不到。

日志如下:

FATAL EXCEPTION: main
    Process: com.intuition.dine.ivepos, PID: 10908
    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.intuition.dine.ivepos-1/base.apk"],nativeLibraryDirectories=[/data/app/com.intuition.dine.ivepos-1/lib/arm, /data/app/com.intuition.dine.ivepos-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]] couldn't find "libepos2.so"
        at java.lang.Runtime.loadLibrary0(Runtime.java:972)
        at java.lang.System.loadLibrary(System.java:1567)
        at com.epson.epos2.discovery.Discovery.<clinit>(Discovery.java:20)
        at com.epson.epos2.discovery.Discovery.start(Discovery.java)
        at com.intuition.dine.ivepos.SearchIPActivity.onCreate(SearchIPActivity.java:191)
        at android.app.Activity.performCreate(Activity.java:6955)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
        at android.app.ActivityThread.-wrap14(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6776)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)

如有任何帮助,我们将不胜感激。

最佳答案

已解决:我在 app/libs/armeabi 中还有一些 .so 文件。

所以,我将它们移动到app/src/main/jniLibs(如下图所示)

EPSON provided data

此外,在 defaultconfig{} 内的应用级别 Gradle 中的代码下方

ndk {
            abiFilters "armeabi"
        }

android{
     splits {
        abi {
            enable true
            reset()
            universalApk true
        }
    }
}

这很有效。

关于android - EPSON 问题,找不到 "libepos2.so",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52149374/

相关文章:

Swift Direction Request 无法在 if 语句中正确计算

printing - 如何连接或打印 ESC/POS 打印机?

java - Android Studio Activity_main.xml

objective-c - fatal error : Foundation/Foundation. h:没有这样的文件或目录

java - IF ELSE 语句中的条件是否可能是一个方法?

php - 限制 shell_exec 的执行时间

java - 从 Android 应用程序打印到热敏打印机 (DPP 450)

c++ - 如何在 C++ (VS2010) 中设置超时读取 USB 端口?

android - 什么是 ViewModelStore 和 viewModelStoreOwner?

android - 如何访问私有(private)变量