Java 未定义对_android_日志_打印错误的引用

Java 未定义对_android_日志_打印错误的引用,java,android,android-ndk,android-studio,build-error,Java,Android,Android Ndk,Android Studio,Build Error,有一些像这样的问题,但提供的解决方案没有一个奏效。 Build在生成包含两个模块的应用程序时从标题中输出错误。其中一个模块具有本机代码文件 我检查了很多线程,它们都建议包含-llog。 类似的线 my Android.mk: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := com_couchbase_touchdb_TDCollateJSON LOCAL_SRC_FILES :

有一些像这样的问题,但提供的解决方案没有一个奏效。 Build在生成包含两个模块的应用程序时从标题中输出错误。其中一个模块具有本机代码文件

我检查了很多线程,它们都建议包含-llog。 类似的线

my Android.mk:

   LOCAL_PATH := $(call my-dir)

   include $(CLEAR_VARS)

   LOCAL_MODULE    := com_couchbase_touchdb_TDCollateJSON
   LOCAL_SRC_FILES := com_couchbase_touchdb_TDCollateJSON.cpp
   LOCAL_LDLIBS    := -landroid -llog -ldl -L$(LOCAL_PATH)

   include $(BUILD_SHARED_LIBRARY)

我的.cpp文件中也包含了标题
,但仍然会出现相同的错误。

很可能不是
\uuuuu android\u log\u print
,而是与您的字体相似的其他字体,例如,
\uu和riod\u log\u prlnt
。在C++项目中,有名字的篡改,可能有一个文件(甚至可能是.h文件)错过了头(也就是说,包含的顺序可能很重要)。IIRC
-L
/
-L
开关的顺序也很重要,但这里可能不是这样

我将从NDK中的hello jni示例开始,并向其添加日志记录;然后,我会逐渐添加应用程序代码。如果此后一切正常,下一步就是将
jni/
文件夹移动到您的应用程序项目中,否则您就知道在它崩溃之前您做了什么

以防万一:

#include <android/log.h>
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG  , "~~~~~~", __VA_ARGS__)
#define DLOG(...) __android_log_print(ANDROID_LOG_DEBUG  , "~~~~~~", __VA_ARGS__)
#包括
#定义LOGD(…)\uuuuuAndroid\uLog\uPrint(android\uLog\uDebug,“~~~~~~~”,\uuuuuVA\uargs)
#定义DLOG(…)\uuuuuAndroid\uLog\uPrint(android\uLog\uDebug、“~~~~~~~”、\uuuVA\uArgs)

请发布完整的ndk build V=1的干净日志。@AlexCohn,我暂停了该项目。谢谢你的帮助。谢谢你@18446744073709551615。我暂停了那个项目,因为我还有一个更重要的项目。只要我确认会通知你。再次感谢你。