无法为android构建Mupdf(例外初始化错误)

无法为android构建Mupdf(例外初始化错误),android,eclipse,android-ndk,java-native-interface,mupdf,Android,Eclipse,Android Ndk,Java Native Interface,Mupdf,我想在我的android应用程序中使用MuPDF。为了构建它,我下载了源代码cygwin和android ndk 将ndk和MUPDF源保存到我的F:\驱动器后,我运行了以下操作: 准备来源 请从git中查看mupdf源的副本: ~/src$git克隆git://git.ghostscript.com/mupdf.git 查看 第三方库子模块: ~/src/mupdf$git子模块更新——init填充生成的 包含必要文件的目录: ~/src/mupdf$make生成构建和调试 切换到platfo

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

将ndk和MUPDF源保存到我的F:\驱动器后,我运行了以下操作:

准备来源

请从git中查看mupdf源的副本:

~/src$git克隆git://git.ghostscript.com/mupdf.git 查看 第三方库子模块:

~/src/mupdf$git子模块更新——init填充生成的 包含必要文件的目录:

~/src/mupdf$make生成构建和调试

切换到platform/android目录并编辑本地 属性配置文件

~/src/mupdf$cd platform/android~/src/mupdf/platform/android$cp local.properties.sample local.properties~/src/mupdf/platform/android $nano.local.properties

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

sdk.dir=D:\\adt-bundle-windows-x86\\sdk
其中D:\adt-bundle-windows-x86\sdk是我的android sdk所在的位置

我是从MuPDF网站上获得上述信息的。 在构建源代码时,我得到了以下信息:

之后,我将代码从mupdf/source/platform/android/导入我的eclipse工作区;但当我选择某个pdf时,它会崩溃,并出现以下错误:

06-15 10:34:43.267:E/AndroidRuntime(16870):致命异常:主 06-15 10:34:43.267:E/AndroidRuntime(16870): java.lang.Exception初始化错误06-15 10:34:43.267: E/AndroidRuntime(16870):在 com.artifix.mupdfdemo.MuPDFActivity.openFile(MuPDFActivity.java:213) 06-15 10:34:43.267:E/AndroidRuntime(16870):在 com.artifix.mupdfdemo.MuPDFActivity.onCreate(MuPDFActivity.java:309) 06-15 10:34:43.267:E/AndroidRuntime(16870):在 android.app.Activity.performCreate(Activity.java:5008)06-15 10:34: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: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:34: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):在 android.app.ActivityThread.main(ActivityThread.java:4745)06-15 10:34:43.267:E/AndroidRuntime(16870):在 java.lang.reflect.Method.Invokenactive(本机方法)06-15 10:34: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:E/AndroidRuntime(16870):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)06-15 10:34:43.267:E/AndroidRuntime(16870):在 dalvik.system.NativeStart.main(本地方法)06-15 10:34:43.267: E/AndroidRuntime(16870):由以下原因引起:java.lang.UnsatifiedLink错误: 无法加载mupdf:findLibrary返回空06-15 10:34:43.267: E/AndroidRuntime(16870):在 java.lang.Runtime.loadLibrary(Runtime.java:365)06-15 10:34:43.267: E/AndroidRuntime(16870):在 java.lang.System.loadLibrary(System.java:535)06-15 10:34:43.267: E/AndroidRuntime(16870):在 MuPDFCore.(MuPDFCore.java:14)

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


我计划将mupdf用作呈现PDF的库

您的日志猫清楚地显示它是“由以下原因引起的:java.lang.unsatifiedLinkError:无法加载mupdf:”,即,它失败是因为它无法加载“libmupdf.so”库

确保已正确遵循上的所有步骤。确保所有命令都已成功运行,且未出现任何错误。查看终端(命令提示符)屏幕截图,似乎“make”命令失败


在ndk构建步骤之后,必须生成“libmupdf.so”。请确保它位于您的Android项目文件夹/libs/armeabi-v7a/

中,但我已经遵循了该链接。您能告诉我到底出了什么问题吗?