/system/lib/libposprinter.so"没找到| POS打印

时间:2018-04-09 11:33:43

标签: android thermal-printer pos

我正在使用Android POS系统应用程序,并且我已经集成了 THERMAL PRINT SDK

当我开始进行打印时,得到以下错误 -

  

引起:java.lang.UnsatisfiedLinkError:dlopen失败:library /system/lib/libposprinter.so"找不到

我陷入了这个问题。

请帮助!

1 个答案:

答案 0 :(得分:0)

我在6个月前处理过epson图书馆,但不确定它是否也是同样的问题。我有一种感觉,你的设备正试图使用​​一个由于epson没有提供它而不存在的本地库。您可以强制您的应用程序回退到提供的本机库文件夹,以使其正常工作

我最终将我的应用程序仅限制为armeabi-v7a和x86 arch类型。它确实使应用程序在某些设备上不兼容,但对我们的用例来说不是问题。

我有以下设置

  1. 确保将lib添加到libs/ePOS2-2.5.1.a.jar并以gradle引用,例如compile files('libs/ePOS2-2.5.1.a.jar')或其他

  2. 添加适当的原生图书馆,例如src/main/jiniLibs/armeabi-v7a/libepos2.sosrc/main/jiniLibs/x86/libepos2.so

  3. 更新您的gradle buildtypes以限制abis,如

  4. buildTypes {
        ...
        release {
            debuggable false
            signingConfig signingConfigs.release
            shrinkResources false
            minifyEnabled true  // Deobfuscation mapping file located at app/build/outputs/mapping/release/
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            testProguardFile 'proguard-rules-test.pro'
            ndk {
                abiFilters 'armeabi-v7a', 'x86'
            }
        }
    }
    

    我将此用作指南https://android.jlelse.eu/controlling-apk-size-when-using-native-libraries-45c6c0e5b70a