Android:无法加载mupdf

时间:2015-06-10 14:58:53

标签: android cordova gradle android-gradle mupdf

我正在使用(Android Studio - Gradle)Cordova(3.6.4)项目。

在我的应用程序中,可以有一个pdf文件列表,应该用mupdf显示。 但我总是收到以下错误消息:

06-10 15:04:38.365    5940-5940/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: de.dil.DSM, PID: 5940
    java.lang.UnsatisfiedLinkError: Couldn't load mupdf from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/de.dil.DSM-2.apk"],nativeLibraryDirectories=[/data/app-lib/de.dil.DSM-2, /vendor/lib, /system/lib]]]: findLibrary returned null
            at java.lang.Runtime.loadLibrary(Runtime.java:358)
            at java.lang.System.loadLibrary(System.java:526)
            at com.artifex.mupdfdemo.MuPDFCore.<clinit>(MuPDFCore.java:14)
            at de.dil.DSM.DSM.loadFile(DSM.java:216)
            at de.dil.DSM.xviewer$6.run(xviewer.java:102)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)

来自mupdf的java文件似乎已正确导入。

似乎是“只是”“libmupdf.so”未正确导入。

libmupdf.so文件位于以下目录中:

  • 库/ armeabi / libmupdf.so
  • 库/ armeabi-V7A / libmupdf.so

这里还有一个c mupdf文件:jni / mupdf.c

我是否需要在settings.gradle或build.gradle中配置哪些内容?

提前致谢!!!!

2 个答案:

答案 0 :(得分:0)

  

将.so文件放在jniLibs文件夹

>src
  >main
    >jniLibs
      >armeabi
        |libmupdf.so
      >armeabi-v7a
        |libmupdf.so

答案 1 :(得分:0)

解决方案是添加:

jniLibs.srcDirs = ['libs']

build.gradle中的现有sourceSet!