Передайте тип сборки ("debug" / "release") в ndk-build - PullRequest
0 голосов
/ 24 февраля 2019

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 как часть пути.Нехорошо.Я хотел бы использовать «debug» или «release» там, в зависимости от текущего типа сборки.

Доступен ли текущий тип сборки в make-файле как переменная?Если нет, возможно ли передать его в ndk-build через файл gradle?

1 Ответ

0 голосов
/ 24 февраля 2019

РЕДАКТИРОВАТЬ: Майкл 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...