用于 MIPS 和 x86 arch 的 android mupdf

标签 android mupdf

我目前在我的 android 应用程序中使用 MuPDF,当我从源代码(基于 ReadMe.txt)构建它时,它只会为 armeabi 生成 .so 文件armeabi-v7a 但不是 x86MIPS,当我在 arm arch 设备(Samsung Galaxy Tab 7)上运行应用程序时, 看起来不错。但不是在 mips arch 中。我的问题是如何生成 x86MIPS 共享对象文件?如果有任何其他解决方案,我将不胜感激...

PS:我正在使用 android ndk r8d,我尝试使用 android-ndk-r6b 进行更改,但我遇到了同样的问题。

最佳答案

如果您查看 mupdf 源代码中的 android/jni/Application.mk,您将看到一行:

APP_ABI = armeabi armeabi-v7a

你可以这样做:

APP_ABI = armeabi armeabi-v7a x86 mips

甚至:

APP_ABI = all

启用其他架构。

目前这会导致问题,因为 android/jni/Core.mk 和 android/jni/Core2.mk 文件定义了 -DARCH_ARM 和 -DARCH_THUMB(在编写它们时,Android 仅支持 ARM 处理器)。这需要一些预处理器的魔法:

ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -DARCH_ARM -DARCH_THUMB -DARCH_ARM_CAN_LOAD_UNALIGNED
ifdef NDK_PROFILER
LOCAL_CFLAGS += -pg -DNDK_PROFILER -O2
endif
endif
LOCAL_CFLAGS += -DAA_BITS=8

我会得到这些修复 - 在接下来的几天里观看我们的 git repo。 编辑:修复现在已提交。

关于用于 MIPS 和 x86 arch 的 android mupdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15103022/

相关文章:

android - JavaFX 文本流忽略分配的背景颜色和大小

java - 使用 MuPDF 阅读在线 PDF 文件

android - 为安卓编译 MUPDF 1.7a

android - mupdf:如何使用 openBuffer 方法打开 pdf 文件?

android onMarkerClick 在 InfoWindow 隐藏在 GoogleMap Google Maps Android API v2 后不调用

android - 构建Android项目时出现异常

android - 如何在 Android 中定位可绘制文件夹

c - 在make mupdf期间, fatal error : X11/Xlib. h文件在mac中找不到

android - 编译 MuPDF

java - Android 运行时权限不断被拒绝