嗨,我仍然是android开发的新手,所以请继续使用NDK。

背景:我正在尝试将我的应用程序连接到打印机。为此,供应商提供了一个示例应用程序,该应用程序可发现打印机然后进行打印。现在,我正在尝试运行该示例应用程序,但是它具有一个.so文件,每次我尝试运行它都会给我这个错误。

01-01 17:34:59.618: E/AndroidRuntime(5870): java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xyz.epos2_printer-2/base.apk"],nativeLibraryDirectories=[/data/app/com.xyz.epos2_printer-2/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libepos2.so"

我正在使用eclipse而不是android studio(所以我想build.gradle解决方案对我来说不起作用)。我已经搜索了有关此主题的ALOTT,但无法找出解决方法,请为此提供一个简单的解决方案

最佳答案

检查您是否在项目中添加了libepos2.so文件

检查屏幕截图。 eclipse - 在eclipse上链接.so文件-LMLPHP

步骤2

  • 在默认配置下的gradle中添加以下内容。

    ndk {
    abiFilters“armeabi-v7a”,“x86”,“armeabi”,“mips”
    }
        sourceSets { main { jniLibs.srcDirs = ['src/main/jniLibs/'] } }
    

  • 步骤3

    依赖添加:
    implementation files('libs/ePOSEasySelect.jar')
    implementation files('libs/ePOS2.jar')
    implementation files('libs/armeabi/libeposeasyselect.so')
    implementation files('libs/armeabi/libeposprint.so')
    

    步骤4

    在gradle.properties中添加它:
    android.useDeprecatedNdk=true
    

    10-06 03:00