【问题标题】:Could not able to run the MuPDF Project无法运行 MuPDF 项目
【发布时间】:2015-01-12 18:01:02
【问题描述】:

我有MuPDF Library 的代码,我想在我的应用程序中使用它。我尝试导入项目并尝试运行它。

但问题是它运行正常并在应用程序启动时显示 PDF 文件列表,但是当我选择任何 pdf 文件时它就会崩溃并抛出如下错误:

11-15 16:48:21.308: E/AndroidRuntime(31013): FATAL EXCEPTION: main
11-15 16:48:21.308: E/AndroidRuntime(31013): Process: com.artifex.mupdfdemo, PID: 31013
11-15 16:48:21.308: E/AndroidRuntime(31013): java.lang.UnsatisfiedLinkError: Couldn't load mupdf from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.artifex.mupdfdemo-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.artifex.mupdfdemo-1, /vendor/lib, /system/lib]]]: findLibrary returned null
11-15 16:48:21.308: E/AndroidRuntime(31013):    at java.lang.Runtime.loadLibrary(Runtime.java:358)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at java.lang.System.loadLibrary(System.java:526)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at com.artifex.mupdfdemo.MuPDFCore.<clinit>(MuPDFCore.java:14)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at com.artifex.mupdfdemo.MuPDFActivity.openFile(MuPDFActivity.java:214)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at com.artifex.mupdfdemo.MuPDFActivity.onCreate(MuPDFActivity.java:320)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at android.app.Activity.performCreate(Activity.java:5231)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at android.app.ActivityThread.access$800(ActivityThread.java:135)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at android.os.Handler.dispatchMessage(Handler.java:102)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at android.os.Looper.loop(Looper.java:136)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at android.app.ActivityThread.main(ActivityThread.java:5001)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at java.lang.reflect.Method.invokeNative(Native Method)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at java.lang.reflect.Method.invoke(Method.java:515)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
11-15 16:48:21.308: E/AndroidRuntime(31013):    at dalvik.system.NativeStart.main(Native Method)

该错误表明应用程序无法获取以 C/C++ 本机代码开发的库。我尝试了很多解决方案,但我仍然没有在这方面取得任何成功。

尝试的解决方案:

export mupdf and android studio 0.5.4

https://code.google.com/p/android/issues/detail?id=66937

谁能指导我解决这个错误?

谢谢。

【问题讨论】:

    标签: android c pdf android-library mupdf


    【解决方案1】:

    我为此连续工作了一周。 Android Studio 不会使用 NDK 进行编译。你必须使用 Eclipse。

    一旦我最终下载了 Eclipse 并对其进行了设置,它就会在我的设备上编译并运行。一点问题都没有。

    按照 MuPDF 网站上的“为 Android 构建”教程进行操作。

    将构建导入 Eclipse

    在您的设备上构建并测试它

    通过以下方式将其链接到您的项目:

    在eclipse中右键Mupdf包->属性->android->(窗口底部)勾选Is Library

    在 Eclipse 中右键单击您的包 -> 属性 -> android ->(窗口底部)单击库部分中的添加。选择 Mupdf 包就ok了

    从项目菜单中清理您的项目,然后从运行菜单中调试/运行。 在您的设备上进行测试。魔法!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多