#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'] } } } У меня так работает без вопросов.
Комментариев нет:
Отправить комментарий