爱普生问题,找不到 "libepos2.so"
Issue with EPSON, couldn't find "libepos2.so"
EPSON 网络打印机工作完美,直到我将 mSwipe(Card Swiper) 与我的 Android 应用程序集成。
现在集成后 mSwipe
工作正常,但关于 EPSON
的一切都崩溃了。
libepos2.so
在 src/main/jniLibs/armeabi/libepos2.so
中,但它仍然说找不到。
log
下面:
FATAL EXCEPTION: main
Process: com.intuition.dine.ivepos, PID: 10908
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.intuition.dine.ivepos-1/base.apk"],nativeLibraryDirectories=[/data/app/com.intuition.dine.ivepos-1/lib/arm, /data/app/com.intuition.dine.ivepos-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]] couldn't find "libepos2.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:972)
at java.lang.System.loadLibrary(System.java:1567)
at com.epson.epos2.discovery.Discovery.<clinit>(Discovery.java:20)
at com.epson.epos2.discovery.Discovery.start(Discovery.java)
at com.intuition.dine.ivepos.SearchIPActivity.onCreate(SearchIPActivity.java:191)
at android.app.Activity.performCreate(Activity.java:6955)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
如有任何帮助,我们将不胜感激。
将此添加到您的应用级别 gradle
文件,清理、重建并重试。
android {
//Other stuff here
splits {
abi {
enable true
reset()
universalApk true
}
}
}
已解决: 我还有一些 .so
文件在 app/libs/armeabi
中。
所以,我将它们移动到 app/src/main/jniLibs
(如下图所示)
此外,下面是 defaultconfig{}
中应用级别 Gradle
中的代码
ndk {
abiFilters "armeabi"
}
和
android{
splits {
abi {
enable true
reset()
universalApk true
}
}
}
这很有魅力。
我尝试了这里答案中的所有内容(以及 Whosebug 上的其他问题),但对我来说唯一的解决方法是在 app/src/main/jniLibs
中创建一个名为 armeabi-v7a
的文件夹,然后从 armeabi
到它。
EPSON 网络打印机工作完美,直到我将 mSwipe(Card Swiper) 与我的 Android 应用程序集成。
现在集成后 mSwipe
工作正常,但关于 EPSON
的一切都崩溃了。
libepos2.so
在 src/main/jniLibs/armeabi/libepos2.so
中,但它仍然说找不到。
log
下面:
FATAL EXCEPTION: main
Process: com.intuition.dine.ivepos, PID: 10908
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.intuition.dine.ivepos-1/base.apk"],nativeLibraryDirectories=[/data/app/com.intuition.dine.ivepos-1/lib/arm, /data/app/com.intuition.dine.ivepos-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]] couldn't find "libepos2.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:972)
at java.lang.System.loadLibrary(System.java:1567)
at com.epson.epos2.discovery.Discovery.<clinit>(Discovery.java:20)
at com.epson.epos2.discovery.Discovery.start(Discovery.java)
at com.intuition.dine.ivepos.SearchIPActivity.onCreate(SearchIPActivity.java:191)
at android.app.Activity.performCreate(Activity.java:6955)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
如有任何帮助,我们将不胜感激。
将此添加到您的应用级别 gradle
文件,清理、重建并重试。
android {
//Other stuff here
splits {
abi {
enable true
reset()
universalApk true
}
}
}
已解决: 我还有一些 .so
文件在 app/libs/armeabi
中。
所以,我将它们移动到 app/src/main/jniLibs
(如下图所示)
此外,下面是 defaultconfig{}
Gradle
中的代码
ndk {
abiFilters "armeabi"
}
和
android{
splits {
abi {
enable true
reset()
universalApk true
}
}
}
这很有魅力。
我尝试了这里答案中的所有内容(以及 Whosebug 上的其他问题),但对我来说唯一的解决方法是在 app/src/main/jniLibs
中创建一个名为 armeabi-v7a
的文件夹,然后从 armeabi
到它。