Necesito construir una biblioteca compartida basada en una biblioteca estática precompilada. Mi makefile src/android/externa/mycode/Android.mk:Incluye biblioteca estática preconstruida en el sistema de compilación de Android
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_MODULE := libMyStatic
LOCAL_SRC_FILES := libStatic.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := eng
LOCAL_ARM_MODE := arm
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE := libMyShared
LOCAL_WHOLE_STATIC_LIBRARIES := libMyStatic
include $(BUILD_SHARED_LIBRARY)
que la edifican haciendo: mmm external/mycode
y obtener el error:
make: *** No rule to make target `out/target/product/generic/obj/STATIC_LIBRARIES/libMyStatic_intermediates/libMyStatic.a', needed by `out/target/product/generic/obj/SHARED_LIBRARIES/libMyShared_intermediates/LINKED/libMyShared.so'. Stop.
make: Leaving directory `/home/test/src/android'
Si hago lo siguiente manualmente y correr mmm nuevo funciona:
cp external/mycode/libStatic.a out/target/product/generic/obj/STATIC_LIBRARIES/libMyStatic_intermediates/libMyStatic.a
Si hago un proyecto de NDK y utilizar este archivo Android.mk creo que funciona de inmediato cuando se llama a la secuencia de comandos NDK-construcción. Entonces, el problema tiene que ver con que el archivo libMyStatic.a no se crea y copia en la carpeta intermedia cuando utilizo el sistema Build de Android. ¿Alguien puede decirme qué debo configurar para que el sistema de compilación copie la biblioteca estática a la carpeta intermedia?
Vengo con la problem.Have similares u fijarla would u importaría compartir ur camino conmigo THX –
Tal vez esto puede ayudarle a: [biblioteca compartida prebuilt enlace utilizando Android.mk] [1] [1]: http://stackoverflow.com/questions/14322766/android-link-prebuilt-shared-library-so-within-jar-file-in-ndk – mrAlmond