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

时间:2013-06-19 12:12:02

标签: android android-ndk nm

当我使用ndk时,我无法在shared_libraries中找到符号。

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-build之后,nm /libs/armeabi/libtest.so,结果没有符号,为什么?

1 个答案:

答案 0 :(得分:0)

@auselen关于NDK_DEBUG=1是正确的,但请记住,您必须使用正确的nm:如果您使用计算机中的默认nm,则最有可能在x86计算机上,它将无法读取为ARM体系结构编译的库的符号(大多数Android手机)。

nm中用于输出库的权限libs/armeabi/是: ${you_ndk_folder}/toolchains/arm-linux-androideabi-*/prebuilt/darwin-x86_64/bin

darwin-x86_64如果你在Mac上开发,如果你使用的是Windows或Linux,那就不一样了,但是你明白了。)