Android ndk-build en ignorant APP_ABI: = x86

J’essaie d’exécuter NDK pour comstackr le code natif à exécuter sur le processeur Atom (x86) ainsi que sur ARM. Quelle que soit la manière dont j’ai défini APP_ABI, NDK génère une bibliothèque armeabi. Même si je mets seulement x86 pour APP_ABI. Et la taille du fichier est toujours la même. voici mon fichier 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) 

Peu importe ce que je mets après APP_ABI je me fais armeabi et sa taille toujours la même. Qu’est-ce qui ne va pas ici? J’utilise le dernier NDK.

Vous devez mettre la variable APP_ABI dans le fichier Application.mk et non le fichier Android.mk .

Il est écrit dans la documentation de NDK (fichier docs / CPU-ARCH-ABIS.html).

Si vous ne possédez pas de fichier Application.mk , créez-en un dans le dossier project root .

racine_projet / jni / Application.mk

Ajoutez à cela la plate-forme de compilation cible:

APP_ABI: = x86

Ou plates-formes:

APP_ABI: = armeabi armeabi-v7a x86 mips

Vous pouvez également définir directement ndk-build commande shell ndk-build :

 ndk-build APP_ABI=x86