Android-ndk Adición de bibliotecas estáticas al android.mk
Tengo tres bibliotecas estáticas de un marco que quiero utilizar en mi proyecto. Estas librerías se llaman libtinySAK_armv7-aa, libtinyNET_armv7-aa and libtinyHTTP_armv7-aa
. Los he colocado en la misma carpeta que el Android.mk
y Application.mk
.
Mi código nativo depende de ellos, así que quiero incluirlos en mi biblioteca compartida.
- Per-file CPPFLAGS en Android.mk
- Error de construcción de CM12 para oneplus one
- ¿Cómo ejecutar reglas personalizadas en Android.mk antes de la compilación?
- Herramienta para generar un Android.mk
- Android.mk wilcard extra 'jni' en el camino?
De lo que he leído en stackoverflow y google'd creo que el android.mk se supone que tiene algo así:
# TINYSAK include $(CLEAR_VARS) LOCAL_MODULE := tinySAK LOCAL_SRC_FILES := libtinySAK_armv7-aa LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../doubango/tinySAK/src/ include $(PREBUILT_STATIC_LIBRARY) # TINYNET include $(CLEAR_VARS) LOCAL_MODULE := tinyNET LOCAL_SRC_FILES := libtinyNET_armv7-aa LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../doubango/tinyNET/src/ include $(PREBUILT_STATIC_LIBRARY) # TINYHTTP include $(CLEAR_VARS) LOCAL_MODULE := tinyHTTP LOCAL_SRC_FILES := libtinyHTTP_armv7-aa LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../doubango/tinyHTTP/include/ include $(PREBUILT_STATIC_LIBRARY) LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libtest LOCAL_SRC_FILES := \ ../../test/stack.cpp \ ../../test/main.cpp LOCAL_C_INCLUDES := \ $(LOCAL_PATH)/../../test/include/ \ $(LOCAL_PATH)/../../../doubango/tinyHTTP/include/ \ $(LOCAL_PATH)/../../../doubango/tinySAK/src/ \ $(LOCAL_PATH)/../../../doubango/tinyNET/src/ LOCAL_STATIC_LIBRARIES := \ tinySAK \ tinyNET \ tinyHTTP include $(BUILD_SHARED_LIBRARY)
Mi Application.mk:
APP_STL := stlport_static APP_ABI := armeabi-v7a
El error que obtengo en la compilación ("ndk-build" del directorio del proyecto) es
jni/Android.mk:tinySAK: LOCAL_SRC_FILES points to a missing file
Y supongo que las otras 2 bibliotecas también fallan. ¿Por qué no puede encontrarlos? ¿Además de eso, hay otros errores que he hecho en el makefile?
Gracias
- Simplificación de un archivo Android.mk que crea múltiples ejecutables
- Macro de preprocesador en Android.mk se ignora, pero funciona en Application.mk
- Lectura de archivos de Android.mk en subdirecciones recursivamente
- Condiciones de Android.mk
- Declaración implícita incompatible de la función incorporada Advertencia Uso de NDK con LAME
- Construyendo Android desde fuentes: unsupported reloc 43
- Android ANTLR hacer que no funciona correctamente
- Cómo acelerar el mm en la fabricación de módulos de AOSP
No importa, lo solucioné.
Declaré el "LOCAL_PATH" en el principio del make-file solamente. De lo contrario, buscaría las libs en las carpetas ndk.
Intente LOCAL_LDLIBS
lugar de LOCAL_SRC_FILES
.
- Mejorar el rendimiento del emulador de Android en Windows 7 x64
- Android: Problema al pasar la imagen y su URI entre dos actividades