У меня есть 2 файла Android.mk, первый из которых собирает несколько библиотек, а второй создает другую библиотеку, но для завершения сборки первой требуется первая библиотека. Есть ли способ убедиться, что это произойдет?
Это то, что я пробовал до сих пор:
LOCAL_ADDITIONAL_DEPENDENCIES := path/to/folder/for/android1.mk
- Порядок перечисления этих файлов Android.m (1 & 2)
- Добавление
LOCAL_SHARED_LIBRARIES := a.so b.so ...
Но ни один из них не помог до сих пор
######################################################################
# Android1.mk
######################################################################
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := a1.c a2.c
LOCAL_MODULE := lib_a
LOCAL_MODULE_TAGS := optional
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := b1.c b2.c
LOCAL_MODULE := lib_b
LOCAL_MODULE_TAGS := optional
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
include $(BUILD_SHARED_LIBRARY)
######################################################################
# Android2.mk
######################################################################
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := abc.c xyz.c
LOCAL_MODULE := lib_2
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE_TAGS := optional
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_ADDITIONAL_DEPENDENCIES := /path/to/folder/where/Android1.mk/resides
LOCAL_SHARED_LIBRARIES += \
lib_a \
lib_b
include $(BUILD_SHARED_LIBRARY)
Предостережение заключается в том, что abc.c / xyz.c не делает никаких вызовов в lib_a.so/lib_b.so/lib_z.so
. Но я создаю скрипт (в Android2.mk) и для этого требую, чтобы все библиотеки (в Android1.mk
) были собраны до