Java 未定义对_android_日志_打印错误的引用
有一些像这样的问题,但提供的解决方案没有一个奏效。 Build在生成包含两个模块的应用程序时从标题中输出错误。其中一个模块具有本机代码文件 我检查了很多线程,它们都建议包含-llog。 类似的线 my Android.mk: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 :
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。我暂停了那个项目,因为我还有一个更重要的项目。只要我确认会通知你。再次感谢你。