Проблема с EPSON, не удалось найти "libepos2.so" - PullRequest
0 голосов
/ 03 сентября 2018

Сетевой принтер 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)

Буду признателен за любую помощь.

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

Решено: У меня есть еще .so файлы, которые находятся внутри app/libs/armeabi.

Итак, я переместил их в app/src/main/jniLibs (как показано на рисунке ниже)

EPSON provided data

Кроме того, ниже кода на уровне приложения Gradle внутри defaultconfig{}

ndk {
            abiFilters "armeabi"
        }

А

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

Это сработало как шарм.

0 голосов
/ 26 июня 2019

Я попробовал все в ответах здесь (и из других вопросов по stackoverflow), но единственным исправлением для меня было создание папки в app/src/main/jniLibs с именем armeabi-v7a и копирование файлов so из armeabi в нее.

0 голосов
/ 03 сентября 2018

Добавьте это в файл уровня приложения gradle, очистите, перестройте и попробуйте снова.

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