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