代码之家  ›  专栏  ›  技术社区  ›  Crime_Master_GoGo

爱普生的问题,找不到“libepos2.so”

  •  1
  • Crime_Master_GoGo  · 技术社区  · 6 年前

    在我将mSwipe(刷卡器)与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)
    

    2 回复  |  直到 6 年前
        1
  •  4
  •   Crime_Master_GoGo    6 年前

    解决了的: 我还有一些 .so 里面的文件 app/libs/armeabi .

    所以,我把他们搬到 app/src/main/jniLibs (如下图所示)

    EPSON provided data

    Gradle 里面 defaultconfig{}

    ndk {
                abiFilters "armeabi"
            }
    

    以及

    android{
         splits {
            abi {
                enable true
                reset()
                universalApk true
            }
        }
    }
    

    这很有魅力。

        2
  •  2
  •   secret_cinema    5 年前

    app/src/main/jniLibs armeabi-v7a 从中复制so文件 armeabi

        3
  •  1
  •   Crime_Master_GoGo    6 年前

    gradle 文件,清理,重建,然后重试。

    android {
        //Other stuff here
        splits {
            abi {
                enable true
                reset()
                universalApk true
                }
          }
    }