2012-04-10 9 views
41

Estoy tratando de ejecutar NDK para compilar código nativo para ejecutar en procesador Atom (x86) y ARM. No importa cómo configuro APP_ABI, NDK está generando la biblioteca armeabi. Incluso si puse solo x86 para APP_ABI. Y el tamaño del archivo siempre es el mismo. aquí está mi archivo Application.mk:Android ndk-build ignorando APP_ABI: = x86

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) 

No importa lo que puse después APP_ABI estoy recibiendo armeabi y su siempre mismo tamaño. ¿Qué pasa aquí? Estoy usando el último NDK.

Respuesta

72

Usted debe poner la variable APP_ABI en Application.mk archivo no Android.mk archivo.

Está escrito en la documentación de NDK (archivo docs/CPU-ARCH-ABIS.html).

+0

+1 no sé pregunta anterior, pero me ha gustado que haya respondido aquí que estaba poniendo APP_ABI : = todo en android.mk y no funcionaba, pero cuando lo puse en application.mk funciona muchas gracias .......... –

+1

Todavía es un misterio para mí por qué la gente no lee html archivos del directorio de documentos en ndk :) –

+1

No hay misterio. Ppl sea flojo. –

35

Si no tiene un archivo Application.mk, cree uno dentro de la carpeta jni bajo project root.

project_root/JNI/Application.mk

Agregar orientación de la plataforma de compilación a ella:

APP_ABI: = x 86

o plataformas:

APLICACIÓN _ABI: = armeabi armeabi-v7a MIPS x 86

+1

el archivo ni siquiera necesita nada más. y porque no leer? es bastante desconcertante que necesite estar en otro .mk lógicamente. especialmente porque construirá armeabi sin Application.mk! –

4

También puede establecer APP_ABI directamente a ndk-build comando shell:

ndk-build APP_ABI=x86 
+0

Esto es exactamente lo que sucede bajo el capó cuando ejecuta ExternalNativeBuild.ndkBuild en Android Studio, por lo tanto, cualquier APP_ABI de Application.mk se ignora allí, consulte https://stackoverflow.com/a/45604243/192373 –