0

単体テストを実行したいアプリにネイティブ共有ライブラリ (.so) があります。特に、.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 に答える