嗨,我仍然是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
文件
检查屏幕截图。
步骤2
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