Ответ 1
Вы должны поместить переменную APP_ABI в файл Application.mk не Android.mk.
Он написан в документации NDK (файл docs/CPU-ARCH-ABIS.html).
Я пытаюсь запустить NDK для компиляции собственного кода для работы на процессоре Atom (x86), а также в ARM. Независимо от того, как я устанавливаю APP_ABI, NDK создает библиотеку armeabi. Даже если я поставлю только x86 для APP_ABI. И размер файла всегда один и тот же. вот мой файл Application.mk:
LOCAL_PATH := $(call my-dir)
APP_ABI := x86
include $(CLEAR_VARS)
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
LOCAL_MODULE := myjni-jni
LOCAL_SRC_FILES := myjni-jni.c
include $(BUILD_SHARED_LIBRARY)
Без материи, что я поставил после APP_ABI, я получаю armeabi и его всегда такой же размер. Что здесь не так? Я использую последнюю версию NDK.
Вы должны поместить переменную APP_ABI в файл Application.mk не Android.mk.
Он написан в документации NDK (файл docs/CPU-ARCH-ABIS.html).
Если у вас нет файла Application.mk
, создайте его внутри jni
в папке project root
.
project_root/JNI/Application.mk
Добавьте к нему платформу целевой компиляции:
APP_ABI: = x86
Или платформы:
APP_ABI: = armeabi armeabi-v7a x86 mips
Также вы можете установить APP_ABI
непосредственно в команду ndk-build
shell:
ndk-build APP_ABI=x86