отсутствует jni-папка в плагине Cordova - PullRequest
0 голосов
/ 01 октября 2018

Я использую стороннюю библиотеку, в которой есть папка armeabi-v7a с файлом .so.И я создаю плагин Cordova, который использует ту предыдущую библиотеку, о которой я упоминал.

К сожалению, в проекте, для которого я создаю плагин, также есть некоторые jni-файлы, но есть дополнительные папки, такие как arm64-v8a, x86_64.

Когда я развертываю проект на Android какSamsung S6 edge Я получаю следующую ошибку:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/<bla bla>/base.apk"],nativeLibraryDirectories=[/data/app/<bla bla>/lib/arm64, /data/app/<bla bla>/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "lib_so.so"
at java.lang.Runtime.loadLibrary(Runtime.java:367)
at java.lang.System.loadLibrary(System.java:1076)
at org.<bla bla>.<clinit>(SomeClass.java:22)
at lib.<bla bla>(SomeClass.java:185)
at lib.<bla bla>.SomeClass.access$200(SomeClass.java:47)
at lib.<bla bla>.SomeClass$1.run(SomeClass.java:149)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at lib.<bla bla>(AnotherClass.java:37)

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

естьспособ исправить это без привлечения людей, которые разработали библиотеку?Или это просто и / или единственный способ?я попытался добавить библиотеку в проект плагина, но при попытке добавить ее в проект я получил ошибки слияния dex.

Execution failed for task ':transformDexArchiveWithExternalLibsDexMergerForDebug'.
> java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

1 Ответ

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

есть ли способ исправить это без привлечения людей, которые разработали библиотеку?

Боюсь, ответ будет НЕТ .

Это потому, что вам нужен исходный код, чтобы скомпилировать его в 64-битный arm ABI, то есть arm64-v8a для вашего случая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...