找不到符号"__android_log_write" - Android原生日志

Max*_*Max 7 c java java-native-interface android

我试图将我的本机代码中的一些信息记录到logcat中,但我似乎无法让它工作.我搜索了遍布stackoverflow(和其他网站).

在我的原生代码中,我有#include <android/log.h>.它完全编译,没有错误.如果我不使用日志记录,我的本机代码在android中运行.

我的Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := mylib-prebuilt
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/mylib.so
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/$(TARGET_ARCH_ABI)
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := gmp-prebuilt
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libgmp.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__android_log_write" referenced by <package>

最后,我使用的日志如下所示:

__android_log_write(ANDROID_LOG_ERROR, "Native tag", "Native text");

有人知道出了什么问题吗?

Mar*_*son 0

尝试-llog您的链接步骤。您需要日志记录库。