Estoy intentando configurar Android.mk cruzar compilar código nativo para apoyar diferentes chipset saber armeabi, MIPS, y x86. Sé que puedo configurar Application.mk de la siguiente manera para compilar el código fuente para el conjunto de chips diferente:Android NDK: ¿Cómo obtener la arquitectura del compilador en Android.mk dinámicamente
APP_ABI := all
Esto activará script de compilación de Android NDK-compilar el código fuente de todos los conjuntos de chips. Sin embargo, quiero decirle dinámicamente a Android.mk que busque diferentes dependencias de bibliotecas estáticas compiladas con diferentes conjuntos de chips.
# Get the architecture info
ARCH := ????
include $(CLEAR_VARS)
LOCAL_MODULE:= mylib
LOCAL_SRC_FILES:= build/lib/libxxx_$(ARCH).a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
include $(PREBUILT_STATIC_LIBRARY)
¿Es esto posible? Si es así, ¿alguien puede aconsejar cómo hacerlo?
Update: I tried something like this in Application.mk:
APP_ABI := armeabi armeabi-v7a mips x64
with Android.mk:
# Get the architecture info ARCH := $(APP_ABI) include $(CLEAR_VARS) LOCAL_MODULE:= mylib LOCAL_SRC_FILES:= build/lib/libxxx_$(ARCH).a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) include $(PREBUILT_STATIC_LIBRARY)
but it errors with the following:
The LOCAL_SRC_FILES for a prebuilt static library should only contain one item
which makes sense. I want to pass APP_ABI := all in Application.mk and be able to dynamically reference it. Any ideas?
Si mira ndk y otras librerías, usan definiciones como '#ifdef __arm__', pero no estoy seguro de dónde está definido o estandarizado – minsk
Hola, quiero hacer exactamente lo mismo. ¿Me puede dar un ejemplo del archivo Andorid.mk y dónde colocarlo en la aplicación? – jeevs