Ich habe eine gemeinsam genutzte Bibliothek namens libwrapper.so, diese Bibliothek verwendet wiederum eine andere statische Bibliothek namens libcore.a. Hier ist die Android.mkAndroid NDK Aufruf API einer statischen Bibliothek in einer gemeinsamen Bibliothek
## core module
include $(CLEAR_VARS)
LOCAL_MODULE := core
MY_SRC_DIR := src
MY_SRC_FILES := core.cpp core2.cpp
LOCAL_SRC_FILES := $(addprefix $(MY_SRC_DIR)/, $(MY_SRC_FILES))
include $(BUILD_STATIC_LIBRARY)
## wrapper module
include $(CLEAR_VARS)
LOCAL_MODULE := wrapper
MY_SRC_DIR := src
MY_SRC_FILES := wrapper.cpp
LOCAL_SRC_FILES := $(addprefix $(MY_SRC_DIR)/, $(MY_SRC_FILES))
LOCAL_STATIC_LIBRARIES := core
include $(BUILD_SHARED_LIBRARY)
Das Merkwürdige ist, wenn ich Befehl „nm -D libwrapper.so“ nur Symbole dieser Funktionen in core.cpp zu sehen sind. Warum core2.cpp keine Funktion exportiert?