Добавление библиотеки .so. неожиданная ошибка e_machine: 62

Я пытаюсь добавить файл .so в свой проект студии Android, но получаю сообщение об ошибке при попытке загрузить его в файл java. Я добавил библиотеку .so в jniLibs / arm64-v8a, jniLibs / armeabi-v7a, jniLibs / x86 и jniLibs / x86_64 с именем libopendnp3java.so. И я добавил следующее в defautConfig моего build.gradle.

 ndk {
      abiFilters "arm64-v8a", "armeabi-v7a", "x86", "x86_64"
 }

Я добавил следующее в свой файл gradle.properties

android.useDeprecatedNdk=true

И я вызываю библиотеку в моем ReportActivity.java с помощью

static {
    System.loadLibrary("opendnp3java");
}

Когда я запускаю программу на своем Galaxy S7 (версия Android 7.0) в режиме разработчика, я получаю следующую ошибку

05-28 11:15:23.835 1509-1509/com.company.example E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.company.example, PID: 1509
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.comapny.example-1/lib/arm64/libopendnp3java.so" has unexpected e_machine: 62
    at java.lang.Runtime.loadLibrary0(Runtime.java:977)
    at java.lang.System.loadLibrary(System.java:1567)
    at com.company.example.ReportActivity.<clinit>(ReportActivity.java:49)
    at java.lang.Class.newInstance(Native Method)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1086)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2834)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008)
    at android.app.ActivityThread.-wrap14(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6688)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)

Я искал на StackOverflow и других сайтах ошибку unexpected e_machine: 62, но ничего не нашел. Самым близким был unexpected e_machine: 40, но решения этих проблем мне не помогли.

Обновлено: я попытался использовать следующее в моем build.gradle в качестве замены ndk, но это ничего не меняет

splits {
    abi {
        enable true
        reset()
        include "arm64-v8a", "armeabi-v7a", "x86", "x86_64"
        universalApk true
    }
}

Я пропустил еще один шаг или я добавил файл не в тот каталог?

Заранее спасибо!

Обновлено еще раз: Я попытался запустить его на эмуляторе Pixel 2 XL API P x86_64. Файл libopendnp3java.so был найден и прочитан правильно, но я получил новую ошибку

    java.lang.UnsatisfiedLinkError: dlopen failed: library "libasiodnp3.so.2" not found
    at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
    at java.lang.System.loadLibrary(System.java:1669)

У меня есть этот файл .so в том же месте, что и другой, поэтому я не уверен, почему он не был найден.

Будем очень признательны за любые идеи, которые могут у вас возникнуть!

Вы когда-нибудь это исправляли?

Nick Cuypers 07.11.2018 21:43

Есть новости по этому поводу?

Adit Kothari 08.01.2020 06:25
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
1 063
0

Другие вопросы по теме