Android 为什么在libs/armeabi/libtest.so中找不到任何符号

Android 为什么在libs/armeabi/libtest.so中找不到任何符号,android,android-ndk,nm,Android,Android Ndk,Nm,当我使用ndk时,在共享库中找不到符号 Android.mk: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := test LOCAL_SRC_FILES := test.cpp include $(BUILD_SHARED_LIBRARY) test.cpp: void fun() {} 在ndk构建之后,nm/libs/armeabi/libtest.so,结果是没有符号,为什么?@auselen关于nd

当我使用
ndk
时,在
共享库中找不到符号

Android.mk:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_SRC_FILES := test.cpp
include $(BUILD_SHARED_LIBRARY)
test.cpp:

void fun() {}

在ndk构建之后,nm/libs/armeabi/libtest.so,结果是没有符号,为什么?

@auselen关于
ndk_DEBUG=1
是正确的,但也要记住,您必须使用正确的
nm
:如果您使用计算机上的默认
nm
,很可能是x86计算机,它将无法读取为ARM架构编译的库的符号(大多数android手机)

用于位于
libs/armeabi/
中的输出库的右侧
nm
是:
${you\u ndk\u folder}/toolschains/arm-linux-androideabi-*/prebuild/darwin-x86\u 64/bin


(darwin-x86_64
是指如果你在Mac上开发,如果你在Windows或Linux上开发,情况就不同了,但你明白了……)

我不认为这是真的,常规的
nm
应该可以工作,因为它是一个elf实用程序。