Y compris prêts à l'emploi statique de la bibliothèque dans le système de build Android
J'ai besoin de construire une bibliothèque partagée basée sur une prédéfinis bibliothèque statique.
Mon makefile src/android/externe/mycode/Android.mk:
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)
- Je construire en faisant: mmm external/mycode
et obtenez l'erreur:
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 je ne les suivants manuellement et exécuter mmm encore, il fonctionne:
cp external/mycode/libStatic.a out/target/product/generic/obj/STATIC_LIBRARIES/libMyStatic_intermediates/libMyStatic.a
Si je fais un NDK projet et d'utiliser cette Android.mk fichier je pense que ça fonctionne tout de suite lors de l'appel de la ndk-build script. Donc, le problème a quelque chose à voir avec ce que l'libMyStatic.un fichier n'est pas créé et copié dans le dossier intermédiaire lorsque j'utilise le Android système de construction.
Quelqu'un peut me dire ce dont j'ai besoin pour l'installation pour rendre le système de construction de copier la bibliothèque statique pour le dossier intermédiaire?
Peut-être cela peut vous aider: [lien prédéfini bibliothèque partagée à l'aide de Android.mk][1] [1]: stackoverflow.com/questions/14322766/...
OriginalL'auteur Kim | 2011-04-15
Vous devez vous connecter pour publier un commentaire.
modifier votre mk fichier
à
OriginalL'auteur Benjamin Chung
Essayez de construire votre bibliothèque statique comme ça.
Il est presque complet, selon l'endroit où vous placez le préconstruit de la bibliothèque. Dans mon cas, il n'était pas dans le dossier externe. J'ai dû modifier le fichier makefile dans le répertoire parent de faire le PSBA système de construction conscient de ma lib, de ses dépendances et de ses personnes à charge!
OriginalL'auteur Jason Lin