0

我的应用程序中有一个本地共享库 (.so),我想在其上运行单元测试。特别是,我的 . 中有几个函数,所以我想直接从我的单元测试中调用。但是,我不希望这些功能在发布版本中可见。

我目前计划这样做的方式是在构建调试时删除 -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)

谢谢!

4

1 回答 1

2

默认(可见)默认开启;您可能希望设置LOCAL_CFLAGS += -fvisibility=hidden为非调试版本。

于 2014-02-12T22:45:15.477 回答