【发布时间】:2011-03-10 00:52:53
【问题描述】:
我正在创建一个 Android Xoom 应用程序,该应用程序在其中一个活动中显示 pdf。
我已经下载了 mupdf 源文件:mupdf.c、Android.mk、Application.mk、Core.mk 和 ThirdParty.mk。
我也去过mupdf.com网站,尝试从这里下载各种预编译包:http://ccxvii.net/mupdf/download/
我刚从 iPhone 切换到 Android,还有一些东西需要学习,包括 C 代码。我将 mk / c 文件放入我的项目中的 /jni/ 中。我还尝试将我从上面的网站下载的预编译文件复制到我的项目中的 /jni/ 中。
我有一个简单的课程:
import android.graphics.*;
public class PDFView {
static {
System.loadLibrary("mupdf");
}
}
每次我创建此类的实例时,应用程序都会崩溃,并在 LogCat 中显示“ExceptionInInitializerError”以及“无法加载 mupdf:findLibrary 返回 null”。
我也下载了android NDK并尝试自己编译源代码。我收到一个缺少的 mupdf.h 错误和 fitz.h 错误。只是一个完整的错误列表,包含一个库似乎过于复杂。
我正在使用 Snow Leopard 开发 Mac。我认为我走在正确的道路上,需要将其编译为二进制文件,但花了这么多时间学习 NDK 却无法编译,真是令人沮丧。也许我需要一个更新的来源。
谁能帮我指出正确的方向?
【问题讨论】:
-
我正在阅读 android 的编译说明,它说要编辑 local.properties,我从 mupdf.com 下载的源代码中没有看到这样的文件。
-
让我们从您的 ndk-build 错误开始。你能说明当你 ndk-build 时会发生什么吗?
-
这比“加载库”更重要,因为库必须针对 ARM 和 Android 库构建。尝试加载库将返回 null,直到您获得此工作的 ndk 部分。
-
马修,看看我下面的帖子
标签: android java-native-interface android-ndk