4

私のAndroidアプリケーションで現在使用しているimはMuPDF、(ReadMe.txtに基づいて)ソースからビルドした場合、.soファイルを生成するだけで、生成さarmeabiarmeabi-v7aません。x86またMIPS、アームアーチデバイス(Samsung Galaxy Tab 7)でアプリを実行すると、見栄えが良くなります。 。しかし、mipsアーチではありません。私の質問は、オブジェクトファイルを生成x86してMIPS共有する方法です。他の解決策があれば、私はそれを感謝します...

PS:使用していandroid ndk r8dます、で変更しようとしましandroid-ndk-r6bたが、同じ問題が発生しました。

4

1 に答える 1

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 リポジトリを見てください。編集:修正がコミットされました。

于 2013-02-27T10:49:43.837 に答える