用于MIPS和x86 arch的android mupdf

时间:2013-02-27 02:15:42

标签: android mupdf

我目前在我的Android应用程序中使用MuPDF,当我从源代码构建它时(基于ReadMe.txt),它只生成.soarmeabi的{​​{1}}文件但不是armeabi-v7ax86,当我在手臂拱形设备(三星Galaxy Tab 7)上运行应用程序时,它看起来不错。但不是MIPS拱。我的问题是如何生成mipsx86共享对象文件?如果有任何其他解决方案,我会很感激...

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

1 个答案:

答案 0 :(得分:7)

如果你在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。 编辑:修复现已提交。