在eclipse上链接.so文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在eclipse上链接.so文件相关的知识,希望对你有一定的参考价值。

嗨,我仍然是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文件

检查屏幕截图。 in folders mentioned in the screen

第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

以上是关于在eclipse上链接.so文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上用 C# 加载 linux 动态库 (.so)

在IDEA上链接数据库

CMake 生成的程序无法在 Windows 上链接:尝试链接到不存在的文件

如何在 macOS 上链接 libc++?

无法在 qt creator (linux) 上链接共享库

可以让 Prettier 允许在新行上链接函数吗?