У меня есть родная общая библиотека (.so) в моем приложении, в которой я бы хотел запустить модульные тесты. В частности, есть несколько функций в моем .so, что я хотел бы напрямую позвонить из своих модульных тестов. Однако я не хочу, чтобы эти функции были видны в версии выпуска.Как настроить мою компиляцию Android.mk для экспорта всех символов по умолчанию только для отладочных сборников?
Способ, которым я в настоящее время планирую это сделать, заключается в удалении опции -fvisibility = hidden при компиляции при создании для отладки (NDK_DEBUG = 1). Однако я не могу понять, как это сделать из файла Android.mk.
Вот мой текущий Android.mk (немного упрощенным):
TARGET_PLATFORM := android-8
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := nuke_launcher
LOCAL_SRC_FILES := red_button.c abort_sequence.c
ifdef NDK_DEBUG
LOCAL_CFLAGS := -fvisibility=default # <-- Doesn't work
endif
include $(BUILD_SHARED_LIBRARY)
Спасибо!
Да! Вы правы, он должен быть включен по умолчанию. И действительно, я смотрю дальше по моему файлу Android.mk, и там я вижу -fvisibility = hidden. Неудивительно, что мой код не работал ... Спасибо! – hopia