Android MuPDF 错误

Posted

技术标签:

【中文标题】Android MuPDF 错误【英文标题】:Android MuPDF Error 【发布时间】:2013-07-18 07:17:24 【问题描述】:

我正在将 MUPDF 添加到 android 应用程序中:

(1)http://mupdf.blogspot.com/

(2)http://pastebin.com/YzHUhzE7

当我尝试做的时候:

Intent intent = new Intent(getBaseContext(), ChoosePDFActivity.class);
startActivity(intent);

我明白了:

07-19 05:22:37.255: W/dalvikvm(16084): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/artifex/mupdfdemo/MuPDFCore;
    07-19 05:22:37.255: D/AndroidRuntime(16084): Shutting down VM
    07-19 05:22:37.255: W/dalvikvm(16084): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
    07-19 05:22:37.275: E/AndroidRuntime(16084): FATAL EXCEPTION: main
    07-19 05:22:37.275: E/AndroidRuntime(16084): java.lang.ExceptionInInitializerError
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at com.artifex.mupdfdemo.MuPDFActivity.openFile(MuPDFActivity.java:212)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at com.artifex.mupdfdemo.MuPDFActivity.onCreate(MuPDFActivity.java:311)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at android.app.Activity.performCreate(Activity.java:5104)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at android.os.Handler.dispatchMessage(Handler.java:99)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at android.os.Looper.loop(Looper.java:137)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at android.app.ActivityThread.main(ActivityThread.java:5041)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at java.lang.reflect.Method.invokeNative(Native Method)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at java.lang.reflect.Method.invoke(Method.java:511)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at dalvik.system.NativeStart.main(Native Method)
    07-19 05:22:37.275: E/AndroidRuntime(16084): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load mupdf from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.example.addingmupdf-2.apk,libraryPath=/data/app-lib/com.example.addingmupdf-2]: findLibrary returned null
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at java.lang.Runtime.loadLibrary(Runtime.java:365)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at java.lang.System.loadLibrary(System.java:535)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    at com.artifex.mupdfdemo.MuPDFCore.<clinit>(MuPDFCore.java:13)
    07-19 05:22:37.275: E/AndroidRuntime(16084):    ... 16 

有人知道这里出了什么问题吗? 我对任何其他建议持开放态度。将 mupdf 导入现有的 android 项目。

【问题讨论】:

您是否编译了 C (jni) 库?看看这里:mupdf.com/doc/how-to-build-mupdf-for-android 【参考方案1】:

所以我终于写了整个过程here将pdf集成到android应用程序中。

【讨论】:

@A_J 你是什么意思?你不能点击它?我刚刚更新了链接。 嗨,我按照您描述的所有步骤操作:dixitpatel.com/integrating-pdf-in-android-application 但是我收到了您在第一条消息中抱怨的相同错误,您是如何解决的? 你在教程第 5 步中的意思是什么?比命令:'make'" 链接失效,粘贴代码而不是链接一段时间后它们变得无效【参考方案2】:

看起来你正试图在模拟器中运行应用程序,检查 CPU/EBI 是否与 Application.mk 中使用的架构匹配

【讨论】:

以上是关于Android MuPDF 错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中使用 mupdf 库

Android MuPDF ndk build Error: No such file or directory

Android MuPDF 阅读器设置

如何为 android 构建 mupdf

在Android项目中引入MuPdf

Android PDF Viewer Library 或 muPDF 库教程