@linesb

Как в NativeScript можно использовать *.so зависимости?

Как в NativeScript можно использовать *.so зависимости?

Интересует в первую очередь ответ для Android.

В интернете нашел что это возможно, нужно только добавить их в нужную папку. Пробовал добавить в
$projectDir/platforms/android/libs/{jni,jniLibs}
$projectDir/platforms/android/app/libs/{jni,jniLibs}
$projectDir/App_Resources/Android/src/main/{jni,jniLibs}
$projectDir/libs/{jni,jniLibs}
но не работает.

В platforms/android/app/build.gradle есть такая настройка
sourceSets.main {
    jniLibs.srcDirs = ["$projectDir/libs/jni", "$projectDir/snapshot-build/build/ndk-build/libs"]
}
но все равно не работает

В Flutter и в AndroidStudio получилось загрузить эти файлы.

Версия NativeScript: 8.4.0
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
@5465
Для использования .so библиотек в NativeScript для Android, необходимо создать директорию app/src/main/jniLibs в корне проекта NativeScript, если ее еще нет, и поместить туда нужные библиотеки.

Вы можете создать папку jniLibs в корне проекта NativeScript с помощью следующей команды в консоли:

mkdir -p app/src/main/jniLibs

Затем вы можете разместить библиотеки .so в этой папке. Ваш файловый путь должен выглядеть так:

app/src/main/jniLibs/armeabi/libname.so

где libname.so - это имя библиотеки, которую вы хотите использовать. Обратите внимание, что armeabi может быть заменено на другую архитектуру, например, arm64-v8a для устройств на базе ARM64.

После этого вы можете запустить ваше приложение NativeScript на устройстве Android, и библиотеки .so будут использоваться автоматически.

Обратите внимание, что если вы используете NativeScript с Angular, вам нужно создать директорию jniLibs внутри директории app вашего проекта Angular, а не в корневой директории вашего проекта NativeScript.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы