【问题标题】:Unsatisfy link error pdftron不满意的链接错误pdftron
【发布时间】:2014-06-12 12:41:26
【问题描述】:

我正在运行 pdftron Complete Reader 示例,但无法运行该项目。 我已经使用 http://blog.pdftron.com/2013/08/09/getting-started-with-android/#toolslib

这行报错--

// Initialize thumbnail cache for the recent list.
try {
    RecentlyUsedCache.initializeRecentlyUsedCache(RecentFilesManager.MAX_NUM_RECENT_FILES, 10 * 1024 * 1024, 0.1);
} catch (PDFNetException e) {
}

错误

06-12 18:00:14.703: E/AndroidRuntime(2842): FATAL EXCEPTION: main
06-12 18:00:14.703: E/AndroidRuntime(2842): java.lang.UnsatisfiedLinkError: Native method not found: pdftron.Common.RecentlyUsedCache.InitializeRecentlyUsedCache:(JJD)V
06-12 18:00:14.703: E/AndroidRuntime(2842):     at pdftron.Common.RecentlyUsedCache.InitializeRecentlyUsedCache(Native Method)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at pdftron.Common.RecentlyUsedCache.initializeRecentlyUsedCache(SourceFile:89)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at com.pdftron.pdfnet.demo.completereader.viewer.CompleteReaderMainActivity.onCreate(CompleteReaderMainActivity.java:105)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at android.app.Activity.performCreate(Activity.java:5185)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2071)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2132)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at android.app.ActivityThread.access$700(ActivityThread.java:140)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1238)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at android.os.Looper.loop(Looper.java:137)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at android.app.ActivityThread.main(ActivityThread.java:4918)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at java.lang.reflect.Method.invokeNative(Native Method)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at java.lang.reflect.Method.invoke(Method.java:511)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
06-12 18:00:14.703: E/AndroidRuntime(2842):     at dalvik.system.NativeStart.main(Native Method)

提前致谢。

【问题讨论】:

  • 看起来您缺少 pdftron 中的 .so 文件,您使用的 .so 文件没有该功能(不同版本),或者您使用的签名错误.如果您有 .so 文件,我会仔细检查您是否传递了正确的参数,并且自编写教程以来它们没有更改函数调用参数。

标签: android pdf pdftron


【解决方案1】:

如果你仍然被卡住(怀疑)或者这对其他人有帮助......

我也遇到过这个问题,但我发现使用试用包的 lib 文件夹中的“完整”.so 文件而不是“标准”文件为我解决了这个问题。

根据鲍勃的以下要求:

PDFTron SDK 附带两组库 .so 文件,标准集和更完整的完整集,均位于 SDK 的“lib”文件夹下。貌似缺少的导致错误的函数没有包含在标准库中,而是包含在完整库中,所以这是必须要导入的依赖。

我相信这是使用 Eclipse 中的向导完成的(抱歉,我使用的是 Android Stuidio),您只需指向正确的文件(在“lib/full/,无论 cpu 平台”文件夹中) ),或者如果您的应用涵盖 ARM 和 Intel,则将它们全部导入

但是对于 Android Studio,似乎需要一个额外的步骤,即将您的 .so 文件打包到 .jar 中,然后再导入项目并作为文件依赖项引用。 Assaf 在Include .so library in apk in android studio 底部的回答记录了这一点。

【讨论】:

  • 你能详细说明如何做到这一点吗?拥有更具描述性的答案将使用户更好地了解您的答案如何帮助遇到相同问题的人。
  • 鲍勃,这真的很奇怪......我昨天写了一个答案,但它似乎已经消失了......这里是否有一些“批准”路由,就像我们在 CodeProject 上写文章时一样? .
  • 你确定你点击了Post Your Answer吗?我已经这样做了几次,我忘记按下按钮。如果标记的答案不是实际答案(即 cmets、垃圾邮件等),也可以删除它们
  • 一切皆有可能,但我注意到我可以编辑现有答案后添加了上面的文本。希望这现在能提供足够的信息。
  • @GrahamLemon 我已经完全按照你说的做了,但仍然得到 UnsatisfiedLinkError: No implementation found for void com.pdftron.pdf.DocumentPreviewCache.Initialize(long, double) (尝试了 Java_com_pdftron_pdf_DocumentPreviewCache_Initialize 和 Java_com_pdftron_pdf_DocumentPreviewCache_Initialize__JD)这个错误
猜你喜欢
  • 2012-04-22
  • 2013-09-10
  • 1970-01-01
  • 1970-01-01
  • 2016-04-26
  • 2014-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多