IM目前使用MuPDF在我的Android应用程序,当我建立了它从源(基于的ReadMe.txt)它只是生成.so文件armeabi和armeabi-v7a,但不x86和MIPS,当我胳膊上拱装置(三星Galaxy Tab 7)运行应用程序,它看起来很不错.但不是在mips拱形.我的问题是我如何生成x86和MIPS共享目标文件?如果有任何其他解决方案,我会很感激...
PS:我正在使用android ndk r8d,我试图改变,android-ndk-r6b但我有同样的问题.
如果你在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.编辑:修复现在已提交.
| 归档时间: |
|
| 查看次数: |
1852 次 |
| 最近记录: |