在将mSwipe(Card Swiper)与我的Android应用程序集成之前,EPSON网络打印机一直运行良好。
集成后,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)
任何帮助,将不胜感激。
最佳答案
解决:我在.so
内部还有一些app/libs/armeabi
文件。
因此,我将它们移至app/src/main/jniLibs
(就像下面的Image一样)
另外,在Gradle
内的应用程序级别defaultconfig{}
中的以下代码
ndk {
abiFilters "armeabi"
}
和
android{
splits {
abi {
enable true
reset()
universalApk true
}
}
}
这就像魅力。