У меня проблема с импортом библиотеки mupdf в мое приложение для Android. Проблема в том, что на прошлой неделе программа работала хорошо, и я, вероятно, кое-что изменил в коде, который больше не загружает mupdf. Если я пытаюсь загрузить файл PDF, у меня есть сообщение с «-my application- остановлено». Вот сообщение об ошибке LogCat:Не удалось загрузить mupdf: findLibrary возвращается null
2530-2530/com.efc.efcredader E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at com.artifex.mupdfdemo.MuPDFActivity.openFile(MuPDFActivity.java:944)
at com.artifex.mupdfdemo.MuPDFActivity.onCreate(MuPDFActivity.java:710)
[...]
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load mupdf: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:365)
at java.lang.System.loadLibrary(System.java:535)
at com.artifex.mupdfdemo.MuPDFCore.<clinit>(MuPDFCore.java:16)
[...]
я называю libmupdf.so так:
static {
System.loadLibrary("mupdf");
}
Я следовал намного более учебники о том, как построить mupdf как библиотеку и импортировать его, но никто не работает хорошо (по крайней мере для меня). Поэтому я полагаю (и надеюсь), я делаю что-то неправильно во время манипуляции. После того как я импортирован «Android» модуль от mupdf, папка так:
>android
>manifests
Android.Manifest.xml
>java
>com.artifex.mupdfdemo
All java files
>res
>animator
Xml files
>drawable
Xml files
>layout
Xml files
>values
Xml files
>c
Android.mk
Application.mk
Core.mk
libmupdf.so
mupdf.c
ThirdParty.mk
Даже если я пытаюсь скомпилировать его в покое, у меня есть некоторые ошибки тоже:
make.exe:***No rule to make target ...
и
Execution failed for task ':android:compileDebugNdk'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\android-ndk-r10d\ndk-build.cmd'' finished with non-zero exit value 2
Вот build.gradle проекта
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':appcompat_v7')
compile project(':android-support-v4-preferencefragment-master')
compile project(':android-support-v7-gridlayout')
}
android {
compileSdkVersion 19
buildToolsVersion "19.1"
compileOptions.encoding = 'ISO-8859-1'
packagingOptions {
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE.txt'
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
build.gradle
андроида:
apply plugin: 'com.android.library'
android {
compileSdkVersion 16
buildToolsVersion "19.1.0"
defaultConfig {
//applicationId "com.artifex.mupdfdemo"
minSdkVersion 8
targetSdkVersion 16
ndk {
moduleName "mupdf"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
local.properties
sdk.dir=C\:\\Android\\SDK
ndk.dir=C\:\\android-ndk-r10d
Я использую Android Studio и SDK в актуальном состоянии.
Я действительно не знаю, как это решить прямо сейчас, я был бы рад Если у вас есть совет, который может мне помочь. Если вам нужны какие-либо другие детали или файлы для добавления, просто спросите.
спасибо.