создать плагин nativescript для Android с скомпилированными файлами C - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь создать плагин nativescript, следуя официальной документации здесь

Я создал свой файл .aar и скопировал его в папку platforms/android, которая работает, когдаЯ называю свой класс плагинов.Проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь вызвать функцию, которая загружает собственную библиотеку, давая мне UnsatisfiedLinkError.

. Я уже видел эти ссылки 1 .2 и перепробовал все упомянутые варианты, но ни один из них вроде не работает.Поскольку этим ссылкам два года, мне интересно, не рекомендуются ли эти методы в настоящее время.

Моя версия tns - 4.1.2, а tns-android - 4.1.3.

Я попытался добавить файлы * .so в следующие папки:

platforms/android
platforms/android/libs
platforms/android/libs/armeabi
platforms/android/libs/jni
platforms/android/libs/jni/armeabi
platforms/android/armeabi
platforms/android/jni
platforms/android/jni/armeabi
platforms/android/jniLibs
platforms/android/jniLibs/armeabi

Как видите, я попробовал все возможные комбинации, основанные на предыдущих сообщениях (мой *.so файлы предназначены для архитектуры armeabi)

Обратите внимание, что единственный случай, который не терпит неудачу, как и другие, это platforms/android/jniLibs/armeabi.При попытке этого я получил сообщение о том, что один из файлов .so повторяется (конфликт слияния) при вызове tns debug android, остальные просто не работают во время выполнения, когда я вызываю функцию

1 Ответ

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

Я считаю, что ошибка компоновщика полностью из вашей нативной библиотеки.Ваш вызов от плагина к нативному классу Java здесь успешен, кажется, проблема в Java.

Вы проверили, успешно ли скомпилированы ваши собственные библиотеки (.so файлы), возможно, импортировав их в простое приложение для Android?Если по-прежнему происходит сбой, он не имеет никакого отношения к среде выполнения {N}, но может быть связан с компиляцией NDK.

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