Добавление библиотеки .so.неожиданный e_machine: ошибка 62 - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь добавить файл .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

И я вызываю библиотеку вmy 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
    }
}

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

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

РЕДАКТИРОВАТЬ 2: Я пытался запустить его на Pixel 2 XL APIP 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 находится в том же месте, что и другой, поэтому я не уверен, почему он не былнайденный.

Любые ваши идеи были бы очень благодарны!

...