Android PDF查看器崩溃

Android PDF查看器崩溃,android,android-ndk,Android,Android Ndk,我是Android NDK的新手。 这是我的第一个项目。 我从下载了安卓PDF阅读器。 它正在正确编译,但当我试图从这个应用程序加载PDF时。它显示以下错误: 07-03 10:18:06.171: ERROR/AndroidRuntime(375): FATAL EXCEPTION: main 07-03 10:18:06.171: ERROR/AndroidRuntime(375): java.lang.ExceptionInInitializerError 07-03 10:18:06.1

我是Android NDK的新手。 这是我的第一个项目。 我从下载了安卓PDF阅读器。 它正在正确编译,但当我试图从这个应用程序加载PDF时。它显示以下错误:

07-03 10:18:06.171: ERROR/AndroidRuntime(375): FATAL EXCEPTION: main
07-03 10:18:06.171: ERROR/AndroidRuntime(375): java.lang.ExceptionInInitializerError
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at cx.hell.android.pdfview.OpenFileActivity.getPDF(OpenFileActivity.java:541)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at cx.hell.android.pdfview.OpenFileActivity.startPDF(OpenFileActivity.java:502)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at cx.hell.android.pdfview.OpenFileActivity.onCreate(OpenFileActivity.java:219)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at android.os.Looper.loop(Looper.java:123)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at android.app.ActivityThread.main(ActivityThread.java:4627)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at java.lang.reflect.Method.invokeNative(Native Method)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at java.lang.reflect.Method.invoke(Method.java:521)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at dalvik.system.NativeStart.main(Native Method)
07-03 10:18:06.171: ERROR/AndroidRuntime(375): Caused by: java.lang.UnsatisfiedLinkError: Library pdfview2 not found
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at java.lang.Runtime.loadLibrary(Runtime.java:461)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at java.lang.System.loadLibrary(System.java:557)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     at cx.hell.android.lib.pdf.PDF.<clinit>(PDF.java:25)
07-03 10:18:06.171: ERROR/AndroidRuntime(375):     ... 16 more
07-03 10:18:06.171:ERROR/AndroidRuntime(375):致命异常:main
07-03 10:18:06.171:错误/AndroidRuntime(375):java.lang.ExceptionInInitializeError
07-03 10:18:06.171:ERROR/AndroidRuntime(375):位于cx.hell.android.pdfview.OpenFileActivity.getPDF(OpenFileActivity.java:541)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):在cx.hell.android.pdfview.OpenFileActivity.startPDF(OpenFileActivity.java:502)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):在cx.hell.android.pdfview.OpenFileActivity.onCreate(OpenFileActivity.java:219)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):在android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):位于android.os.Handler.dispatchMessage(Handler.java:99)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):在android.os.Looper.loop(Looper.java:123)上
07-03 10:18:06.171:ERROR/AndroidRuntime(375):位于android.app.ActivityThread.main(ActivityThread.java:4627)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):位于java.lang.reflect.Method.invokenactive(本机方法)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):位于java.lang.reflect.Method.invoke(Method.java:521)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):在dalvik.system.NativeStart.main(本机方法)
07-03 10:18:06.171:错误/AndroidRuntime(375):原因:java.lang.UnsatifiedLink错误:找不到库pdfview2
07-03 10:18:06.171:ERROR/AndroidRuntime(375):在java.lang.Runtime.loadLibrary(Runtime.java:461)中
07-03 10:18:06.171:ERROR/AndroidRuntime(375):位于java.lang.System.loadLibrary(System.java:557)
07-03 10:18:06.171:ERROR/AndroidRuntime(375):位于cx.hell.android.lib.pdf.pdf.(pdf.java:25)
07-03 10:18:06.171:错误/AndroidRuntime(375):。。。还有16个
我在很多问题上都看到了类似的错误。
由于我是NDK的新手,我不知道该怎么办。

看起来这是导致错误的原因
原因:java.lang.UnsatifiedLink错误:未找到库pdfview2

只要下载这个库


使用任何zip工具打开文件并复制项目中所需的文件,您就可以开始了。

还有另一种PDF打开解决方案,请在此处查看:


我认为,如果没有您的代码,将很难想象发生了什么。

当您不加载本机库时,会出现此错误。这种情况的发生有很多原因。首先,您需要确保您的
Android.mk
文件(在
jni
目录中)设置正确。假设它(或它们)设置正确,找到如下所示的行:

LOCAL_MODULE := libpdfview2
请注意这个名称,因为它很重要。接下来,将以下行添加到活动(或多活动应用程序中的应用程序)的顶部:

在这里,记下名字。它是删除了lib前缀的本地模块的名称。假设NDK构建工作正常,并且Android.mk文件设置正确,这将解决您的问题


编辑

还有,你读过关于建立图书馆的信息吗

上述异常是由于未找到指定库的链接而导致的,这是不言自明的,但实际原因是相关项目的.so文件是从该项目创建的。so函数是根据项目的包结构创建的。所以我们不能直接使用它。所以在我们的项目中


您需要使用应用程序包重新构建.so文件,然后此错误将无效,您也可以获得本机函数访问权限

您是否有可能忘记包含其他必需的依赖项?由于您的错误是由`caused by:java.lang.unsatifiedlinkerror:Library pdfview2 not found`hii'引起的,因此我的问题是我不应该使用其他应用程序启动pdf。因此这对我没有帮助
static {
    System.loadLibrary("pdfview2");
}
Caused by: java.lang.UnsatisfiedLinkError: Library pdfview2 not found