【发布时间】:2011-07-18 01:32:18
【问题描述】:
我能够为 android (libmupdf.so) 构建 mupdf 库,并让它在模拟器上运行。我用过 ndk:android-ndk-r5b 和 android-ndk-r4b,都可以正常工作。
我有一个应用程序。调用 mupdf 库读取 PDF 并将其作为 jpg 文件保存到 sdcard。
这在模拟器(2.1 和 2.2) 以及 Android 2.2 设备 API 级别 8(LG Optimus)上运行良好。
但是,在 Samsung Galaxy S(Android 2.1-update1 API 级别 7) 上,应用可以正常安装,但在运行时出现错误:
ERROR/AndroidRuntime: 原因: java.lang.UnsatisfiedLinkError: 找不到库 mupdf
我尝试使用 ndk-r5b 以及 prev 构建库。版本 - ndk-r4、ndk-3 和 ndk-r4b。好像没什么变化:(
关于什么可能导致错误的任何想法?!?!任何建议/帮助表示赞赏。
【问题讨论】:
-
hii @Roy Samuel 我在制作 libmupdf.so 文件时遇到问题,当我从 CMD D:/android-ndk-r8/mupdf-1.0-source/android 编译代码时它给了我错误//jni/mupdf.c:195: error: 'ctm' undecl ared (第一次在这个函数中使用) D:/android-ndk-r8/mupdf-1.0-source/android//jni/mupdf.c:195: error: 'currentMedi abox' undeclared (first use in this function) 你能帮我解决这个错误吗?谢谢
-
我认为您还没有包含 mupdf 的所有相关头文件。浏览项目 src,并确定包含所有头文件。这是我看到此错误的唯一原因。
-
但是我可以从 Mupdf 网站下载该项目,那么如果是这样的话,一些文件怎么可能丢失,那么你能建议我从哪里获得完整代码的任何好的教程。
-
在编译 mupdf 库时,有来自其他独立项目的源代码,如 libjpeg,一些字体支持包等。我已经独立获得了这些项目的源代码,当我发现存在差异时,如你提到的错误。尝试查找这些软件包的来源,如果找到,请在此处发布。我可以尝试帮助寻找来源,但目前我处于另一个“背景”中,可以这么说。
标签: android android-emulator java-native-interface shared-libraries android-ndk