Я только что закончил компилировать mupdf с mupdf.com на своем Mac. Потребовалось некоторое время, чтобы понять это, но теперь у меня есть libmupdf.so в моей папке libs/armeabi.
Они предоставляют пример этого класса под названием MuPDFCore.java, который можно просмотреть здесь: http://mupdf.com/repos/mupdf/android/src/com/artifex/mupdf/MuPDFCore.java
Я использовал этот класс в своем проекте, и в LogCat он говорит следующее:
Попытка загрузить lib/data/data/com.myapp.android/lib/libmupdf.so 0x4070e050
Добавлена общая библиотека /data/data/com.myapp.android/lib/libmupdf.so 0x4070e050.
JNI_OnLoad не найден в /data/data/com.myapp.android/lib/libmupdf.so 0x4070e050, пропуск инициализации
Не найдена реализация для собственного Lcom/myapp/android/viewer/MuPDFCore;.openFile (Ljava/lang/String;)I
DEBUG/AndroidRuntime(27523): завершение работы виртуальной машины
WARN/dalvikvm(27523): threadid=1: поток завершается с необработанным исключением (группа=0x400ee760)
ОШИБКА/AndroidRuntime(27523): НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: главная
ОШИБКА/AndroidRuntime (27523): java.lang.UnsatisfiedLinkError: openFile
Насколько я знаю, библиотека загружается, прежде чем я понял, как скомпилировать библиотеку, она продолжала падать и говорить, что «mupdf» - это нулевая ссылка.
Их пример в значительной степени говорит о том, что openFile - это нативная функция ... Как только я подумал, что понял это, всплывает другая проблема. Я работал над этим весь день. Любой вклад был бы замечательным!
Это плохая компиляция? Я не получил никаких ошибок в терминале.