Я построил mupdf для Android, и он отлично работает как сам проект. Моя цель - отправить ему намерения, используя мой основной проект. Это код, который я использую (из моего проекта):
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): НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: main 06-16 13:42:14.736: E/AndroidRuntime(9479): java.lang.ExceptionInInitializerError 06-16 13:42:14.736: E/AndroidRuntime(9479): на com.artifex.mupdfdemo.MuPDFActivity.openFile(MuPDFActivity.java:213) 06-16 13:42:14.736: E/AndroidRuntime(9479): на com.artifex.mupdfdemo.MuPDFActivity.onCreate (MuPDFActivity.java:309) 06-16 13:42:14.736: E/AndroidRuntime(9479): в android.app.Activity.performCreate(Activity.java:4465) 06-16 13:42:14.736: E/AndroidRuntime (9479): в android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051) 06-16 13:42:14.736: E/AndroidRuntime(9479): в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 06-16 13:42:14.736: E/AndroidRuntime(9479): в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 06-16 13:42:14.736: E/AndroidRuntime(9479): в 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) ): в android.os.Handler.dispatchMessage(Handler.java:99) 06-16 13:42:14.736: E/AndroidRuntime(9479): в android.os.Looper.loop(Looper.java:137) 06- 16 13:42:14.736: E/AndroidRuntime(9479): в android.app.ActivityThread.main(ActivityThread.java:4424) 06-16 13:42:14.736: E/AndroidRuntime(9479): в java.lang. Reflect.Method.invokeNative(собственный метод) 06-16 13:42:14.736: E/AndroidRuntime(9479): в java.lang.reflect.Method.invoke(Method.java:511) 06-16 13:42:14.736 : E/AndroidRuntime(9479): на com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825) 06-16 13:42:14.736: E/AndroidRuntime(9479): на com.android. internal.os.ZygoteInit.main(ZygoteInit.java:592) 06-16 13:42:14.736: E/AndroidRuntime(9479): в dalvik.system.NativeStart.main(собственный метод) 06-16 13:42:14.736: E/AndroidRuntime(9479): Причина: java.lang.UnsatisfiedLinkError: Не удалось загрузить mupdf: findLibrary вернул значение null 06-16 13:42:14.736: E/AndroidRuntime(9479): в java.lang.Runtime.loadLibrary(Runtime.java:365) 06-16 13:42:14.736: E/AndroidRuntime(9479): в java.lang.System.loadLibrary(System.java:535) 06-16 13 :42:14.736: E/AndroidRuntime(9479): на com.artifex.mupdfdemo.MuPDFCore.(MuPDFCore.java:14)
Обратите внимание, что сборка проекта MuPDF работает нормально сама по себе, поэтому вы можете почти исключить тот факт, что есть ошибки сборки.
Я пометил проект Mupdf как библиотеку и сослался на него из своего проекта. Что случилось ?