Передайте тип сборки («debug» / «release») в ndk-build

1

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?

Теги:
gradle
android-ndk
ndk-build

1 ответ

1

РЕДАКТИРОВАТЬ: Майкл 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню