Страницы

Поиск по вопросам

воскресенье, 26 января 2020 г.

Android: Подключение *.so библиотек Атол, в проект на AndroidStudio

#android #android_studio #android_ndk


В доках пример по разработке приложения в Eclipse, всё работает. Переношу проект
в AndroidStudio, не работает, не может найти библиотеки из *.so файлов! Пробовал все
варианты, делал собственную JAR, создавал скрипт упаковки в Gradle, создавал папку
и кидал туда *.so библиотеки, ничего не помогает, постоянно одно и то же сообщение:

10-16 13:18:38.030: W/dalvikvm(5101): Exception Ljava/lang/UnsatisfiedLinkError;
thrown while initializing Lcom/atol/drivers/fptr/IFptrNative;
10-16 13:18:38.030: W/dalvikvm(5101): threadid=1: thread exiting with uncaught exception
(group=0x41869438)
10-16 13:18:38.050: E/AndroidRuntime(5101): FATAL EXCEPTION: main
10-16 13:18:38.050: E/AndroidRuntime(5101): java.lang.ExceptionInInitializerError
10-16 13:18:38.050: E/AndroidRuntime(5101):     at com.atol.drivers.fptr.IFptr.create(IFptr.java:14)
10-16 13:18:38.050: E/AndroidRuntime(5101):     at ru.gc986.testprintserver.printlib.printers.Atol_11.(Atol_11.java:26)


Ошибка происходит в момент создания объекта с помощью JAR библиотеки. Она в свою
очередь тыкается в *.so файлы, но найти то что ей нужно не может. Кто виноват и что делать?



Решение подсказали на сайте Атола, объектники необходимо поместить в папку - app/src/main/jniLibs/armeabi,
а jar в папку - app/src/main/libs , и только тогда всё начинает работать!
    


Ответы

Ответ 1



Надо положить *.so библиотеки разбив их по платформам armeabi, mips и x86 в какой-нибудь каталог и указать путь к каталогу в gradle скрипте: android { sourceSets { main { jniLibs.srcDirs = ['libs'] } } } У меня так работает без вопросов.

Комментариев нет:

Отправить комментарий