用于MIPS和x86 arch的android mupdf

abh*_*hie 4 android mupdf

IM目前使用MuPDF在我的Android应用程序,当我建立了它从源(基于的ReadMe.txt)它只是生成.so文件armeabiarmeabi-v7a,但不x86MIPS,当我胳膊上拱装置(三星Galaxy Tab 7)运行应用程序,它看起来很不错.但不是在mips拱形.我的问题是我如何生成x86MIPS共享目标文件?如果有任何其他解决方案,我会很感激...

PS:我正在使用android ndk r8d,我试图改变,android-ndk-r6b但我有同样的问题.

Rob*_*tts 7

如果你在mupdf源代码中查看android/jni/Application.mk,你会看到一行:

APP_ABI = armeabi armeabi-v7a
Run Code Online (Sandbox Code Playgroud)

你可以这样做:

APP_ABI = armeabi armeabi-v7a x86 mips
Run Code Online (Sandbox Code Playgroud)

甚至:

APP_ABI = all
Run Code Online (Sandbox Code Playgroud)

启用其他架构.

这将导致当前问题,因为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
Run Code Online (Sandbox Code Playgroud)

我将为这些修补程序投入使用 - 在接下来的几天内观看我们的git repo.编辑:修复现在已提交.