Подтвердить что ты не робот

Android ndk-build игнорирует APP_ABI: = x86

Я пытаюсь запустить 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.

4b9b3361

Ответ 1

Вы должны поместить переменную APP_ABI в файл Application.mk не Android.mk.

Он написан в документации NDK (файл docs/CPU-ARCH-ABIS.html).

Ответ 2

Если у вас нет файла Application.mk, создайте его внутри jni в папке project root.

project_root/JNI/Application.mk

Добавьте к нему платформу целевой компиляции:

APP_ABI: = x86

Или платформы:

APP_ABI: = armeabi armeabi-v7a x86 mips

Ответ 3

Также вы можете установить APP_ABI непосредственно в команду ndk-build shell:

ndk-build APP_ABI=x86