Я пытаюсь настроить Android.mk для перекрестного компиляции собственного кода для поддержки различных чипсетов, а именно armeabi, mips и x86. Я знаю, что я могу настроить Application.mk следующим образом, чтобы скомпилировать исходный код для другого набора микросхем:
APP_ABI := all
Это приведет к созданию Android-NDK build script для компиляции исходного кода для всех наборов микросхем. Тем не менее, я хочу динамически сообщать Android.mk о поиске разных статических зависимостей библиотек, скомпилированных с использованием разных наборов микросхем.
# Get the architecture info
ARCH := ????
include $(CLEAR_VARS)
LOCAL_MODULE:= mylib
LOCAL_SRC_FILES:= build/lib/libxxx_$(ARCH).a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
include $(PREBUILT_STATIC_LIBRARY)
Можно ли это сделать? Если да, можете ли кто-нибудь советовать, как это сделать?
Обновление. Я попробовал что-то вроде этого в Application.mk:
APP_ABI := armeabi armeabi-v7a mips x64
с Android.mk:
# Get the architecture info ARCH := $(APP_ABI) include $(CLEAR_VARS) LOCAL_MODULE:= mylib LOCAL_SRC_FILES:= build/lib/libxxx_$(ARCH).a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) include $(PREBUILT_STATIC_LIBRARY)
но это ошибки со следующим:
The LOCAL_SRC_FILES for a prebuilt static library should only contain one item
что имеет смысл. Я хочу передать APP_ABI: = all в Application.mk и уметь динамически ссылаться на него. Любые идеи?