首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法为android构建Mupdf (ExceptionInitializerError)

无法为android构建Mupdf (ExceptionInitializerError)
EN

Stack Overflow用户
提问于 2014-06-15 10:46:05
回答 1查看 773关注 0票数 2

我想在我的安卓应用程序中使用MuPDF。为了构建它,我下载了源代码,cygwin和android。

在将ndk和MUPDF源代码保存到F:\驱动器后,我运行了以下命令:

准备源 查看git中mupdf源的副本: ~/src $ git克隆git://git.gestscript.com/mupdf.git查看第三方库子模块: ~/src/mupdf $ git子模块更新--init用必要的文件填充生成的目录: ~/src/mupdf $ make生成、生成和调试 切换到platform/android目录并编辑本地属性配置文件。 ~/src/mupdf $ cd平台/android ~/src/mupdf/platform/android $ cp local.properties.sample local.properties ~/src/mupdf/platform/android $ nano local.properties

另一个注意事项,在复制local.properties之后,我添加了以下一行:

代码语言:javascript
复制
sdk.dir=D:\\adt-bundle-windows-x86\\sdk

其中D:\windows-x86\ sdk是我的android所在的地方。

我从MuPDF站点本身获得了上面的内容。在构建源代码时,我得到了以下信息:

在此之后,我将mupdf/source/platform/android/的代码导入到eclipse workspace.The项目的构建中,并且pdf选择器按其应有的方式打开;但是当我选择一些pdf时,它会崩溃,并出现以下错误:

06-15 10:34:43.267: E/AndroidRuntime(16870):致命例外:主06-15 10:34:43.267: E/AndroidRuntime(16870):java.lang.ExceptionInInitializerError 06-15 10:34:43.267: E/AndroidRuntime(16870):at com.artifex.mupdfdemo.MuPDFActivity.onCreate(MuPDFActivity.java 06-15 10:34:34:43.267: E/AndroidRuntime(16870):at com.artifex.mupdfdemo.MuPDFActivity.onCreate(MuPDFActivity.java*309-15 10:43.267: E/AndroidRuntime(16870):在android.app.Activity.performCreate(Activity.java:5008) 06-15 10:43.267: E/AndroidRuntime(16870):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 06-15 10:34:43.267: E/AndroidRuntime(16870):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 06-15 10:34: 34:34:34:34:34:43.267: E/AndroidRuntime(16870):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 06-15 10:34:43.267: E/AndroidRuntime(16870):在android.app.ActivityThread.access$600(ActivityThread.java:130) 06-15 10:43.267: E/AndroidRuntime(16870):android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 06-15 10:34:43.267: E/AndroidRuntime(16870):在android.os.Handler.dispatchMessage(Handler.java:99) 06-15 10:34:43.267: E/AndroidRuntime(16870):android.os.Looper.loop(Looper.java:137) 06-15 10:34:43.267: E/AndroidRuntime(16870):at android.app.ActivityThread.main(ActivityThread.java:4745) 06-15 10:34:43.267: 43.267: E/AndroidRuntime(16870):at java.lang.reflect.Method(原生方法) 06-15 10:43.267: E/AndroidRuntime(16870):java.lang.reflect.Method.invoke(Method.java:511) 06-15 10:34:43.267: E/AndroidRuntime(16870):com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 06-15 10:34:43.267: 43.267: E/AndroidRuntime(16870):com.android.internal.os.ZygoteInit.main(ZygoteInit( java.lang.Runtime.loadLibrary(Runtime.java:365) ) 06-15 10:34:43.267: E/AndroidRuntime(16870):在dalvik.system.NativeStart.main(原生方法) 06-15 10:34:43.267: E/AndroidRuntime(16870):原因: java.lang.UnsatisfiedLinkError:无法加载mupdf: findLibrary返回空06-15 10:34:43.267: 43.267: E/AndroidRuntime(16870):at dalvik.system.NativeStart.main 06-15 10:34: 34:34:34:43.267: E/AndroidRuntime(16870):在com.artifex.mupdfdemo.MuPDFCore.(MuPDFCore.java:14) java.lang.System.loadLibrary(System.java:535) 06-15 10:34:43.267: e/AndroidRuntime(16870)

这里出什么问题了?我使用的是cygwin,我运行的是windows 7。

I计划使用mupdf作为呈现pdfs的库。

EN

回答 1

Stack Overflow用户

发布于 2014-06-15 12:09:45

您的logcat清楚地表明它是“由: java.lang.UnsatisfiedLinkError:未能加载mupdf:”引起的,也就是说,它失败了,因为它无法加载"libmupdf.so“库。

确保您正确地遵循了MuPDF文档页面上的所有步骤。确保所有命令都成功运行,没有出现任何错误。看你的终端(命令提示符)屏幕截图,似乎“让”命令失败。

在ndk-构建步骤之后,必须生成"libmupdf.so“。确保它在你的Android-Project-文件夹/libs/armeabi-v7a/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24228824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档