【问题标题】:Android: Couldn't load mupdfAndroid:无法加载 mupdf
【发布时间】:2015-06-10 14:58:53
【问题描述】:

我有一个 (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 文件位于以下目录中:

  • libs/armeabi/libmupdf.so
  • libs/armeabi-v7a/libmupdf.so

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

在 settings.gradle 或 build.gradle 中我有什么特别需要配置的吗?

先谢谢了!!!!

【问题讨论】:

    标签: android cordova gradle android-gradle-plugin mupdf


    【解决方案1】:

    将您的 .so 文件放在 jniLibs 文件夹中

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

    【讨论】:

      【解决方案2】:

      解决方案是添加这个:

      jniLibs.srcDirs = ['libs']
      

      到build.gradle中已有的sourceSets!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-05
        • 1970-01-01
        • 2014-09-20
        • 1970-01-01
        • 1970-01-01
        • 2015-01-12
        • 2013-06-25
        • 2013-07-18
        相关资源
        最近更新 更多