使用Mupdf作为库项目时出现ExceptionInitializerError

时间:2014-06-16 08:18:19

标签: android eclipse android-intent android-ndk mupdf

我为android构建了mupdf,它作为项目本身运行良好。我的目标是使用我的主项目向它发送意图。这是我正在使用的代码(来自我的项目):

 Uri uri = Uri.parse(Environment.getExternalStorageDirectory()+ "/GeneratedPageNumber.pdf");

             Intent intent = new Intent(MainActivity.this,com.artifex.mupdfdemo.MuPDFActivity.class);

             intent.setAction(Intent.ACTION_VIEW);

             intent.setData(uri);

             startActivity(intent);

我收到此错误:

  

06-16 13:42:14.736:E / AndroidRuntime(9479):致命异常:主要   06-16 13:42:14.736:E / AndroidRuntime(9479):   java.lang.ExceptionInInitializerError 06-16 13:42:14.736:   E / AndroidRuntime(9479):at   com.artifex.mupdfdemo.MuPDFActivity.openFile(MuPDFActivity.java:213)   06-16 13:42:14.736:E / AndroidRuntime(9479):at   com.artifex.mupdfdemo.MuPDFActivity.onCreate(MuPDFActivity.java:309)   06-16 13:42:14.736:E / AndroidRuntime(9479):at   android.app.Activity.performCreate(Activity.java:4465)06-16   13:42:14.736:E / AndroidRuntime(9479):at   android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051)   06-16 13:42:14.736:E / AndroidRuntime(9479):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)   06-16 13:42:14.736:E / AndroidRuntime(9479):at   android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)   06-16 13:42:14.736:E / AndroidRuntime(9479):at   android.app.ActivityThread.access $ 600(ActivityThread.java:123)06-16   13:42:14.736:E / AndroidRuntime(9479):at   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1147)   06-16 13:42:14.736:E / AndroidRuntime(9479):at   android.os.Handler.dispatchMessage(Handler.java:99)06-16   13:42:14.736:E / AndroidRuntime(9479):at   android.os.Looper.loop(Looper.java:137)06-16 13:42:14.736:   E / AndroidRuntime(9479):at   android.app.ActivityThread.main(ActivityThread.java:4424)06-16   13:42:14.736:E / AndroidRuntime(9479):at   java.lang.reflect.Method.invokeNative(Native Method)06-16   13:42:14.736:E / AndroidRuntime(9479):at   java.lang.reflect.Method.invoke(Method.java:511)06-16 13:42:14.736:   E / AndroidRuntime(9479):at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:825)   06-16 13:42:14.736:E / AndroidRuntime(9479):at   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:592)06-16   13:42:14.736:E / AndroidRuntime(9479):at   dalvik.system.NativeStart.main(Native Method)06-16 13:42:14.736:   E / AndroidRuntime(9479):引起:java.lang.UnsatisfiedLinkError:   无法加载mupdf:findLibrary返回null 06-16 13:42:14.736:   E / AndroidRuntime(9479):at   java.lang.Runtime.loadLibrary(Runtime.java:365)06-16 13:42:14.736:   E / AndroidRuntime(9479):at   java.lang.System.loadLibrary(System.java:535)06-16 13:42:14.736:   E / AndroidRuntime(9479):at   com.artifex.mupdfdemo.MuPDFCore。(MuPDFCore.java:14)

请注意,MuPDF项目的构建本身运行良好,因此您几乎可以排除存在构建错误的事实。

我已将Mupdf项目标记为库,并已从我的项目中引用它。 有什么问题?

1 个答案:

答案 0 :(得分:0)

我有同样的问题,我得到了解决方案,

问题是我尝试在genymotion上运行项目,Genymotion是x86平台,因此将应用程序编译为目标x86。在 MuPdf必须是ARM

您可以手动安装ARM支持:http://forum.xda-developers.com/showthread.php?t=2528952

工作正常。