Android Studio, проект с библиотекой NDK, использующий ndkBuild с Android.mk. Моя сборка использует статическую библиотечную зависимость, а статическая библиотека существует как отладочная версия и как продакшен версия в отдельных каталогах. Makefile идет:
#Ref to libfoo
include $(CLEAR_VARS)
LOCAL_MODULE := foo
LOCAL_SRC_FILES := $(FOOPROJECT)\foo\build\intermediates\ndkBuild\debug\obj\local\$(TARGET_ARCH_ABI)\libfoo.a
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_SRC_FILES
имеет debug
LOCAL_SRC_FILES
, жестко запрограммированную как часть пути. Нехорошо. Я хотел бы использовать "отладку" или "выпуск" там, в зависимости от текущего типа сборки.
Доступен ли текущий тип сборки в make файле как переменная? Если нет, возможно ли передать его в ndk-build через файл gradle?
РЕДАКТИРОВАТЬ: Майкл APP_OPTIM
лучше. Как только он это напишет, я приму. Сейчас я оставлю это здесь.
Не удалось найти встроенную переменную, сделал трюк с Gradle:
buildTypes {
release {
externalNativeBuild {
ndkBuild {
arguments "BUILD_TYPE=release"
}}
}
debug {
externalNativeBuild {
ndkBuild {
arguments "BUILD_TYPE=debug"
}}
}
}
Тогда строка в Android.mk становится:
LOCAL_SRC_FILES := $(FOOPROJECT)\foo\build\intermediates\ndkBuild\$(BUILD_TYPE)\obj\local\$(TARGET_ARCH_ABI)\libfoo.a