在 Eclipse 上链接 .so 文件
Linking .so file on Eclipse
我还是 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 解决方案对我不起作用)。我搜索过这个主题,但不知道该怎么做。
检查您是否在项目中添加了 libepos2.so
文件
查看屏幕截图。
步骤 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
我还是 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 解决方案对我不起作用)。我搜索过这个主题,但不知道该怎么做。
检查您是否在项目中添加了 libepos2.so
文件
查看屏幕截图。
步骤 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