我正在为Android应用程序编译第三方c库作为共享库。我想将android日志记录添加到c库的源代码中,这样我就可以看到调用哪些方法,使用什么参数。但我不能让它发挥作用。我尝试了以下方法:
将-llog添加到Android.mk中以获取c库
LOCAL_CFLAGS:=:= ... -llog
将头文件添加到我要记录的源文件abc.c中
#include<机器人/ log.h>
添加行
__ android_log_print(ANDROID_LOG_DEBUG," MyApp","这是方法X");
错误:无法识别__android_log_print。
我该怎么做才能让它发挥作用?
答案 0 :(得分:0)
__android_log_print
在第3个之后采用变量,printf
类似的参数。使用
__android_log_write(ANDROID_LOG_DEBUG, "MyApp", "This is method X");
代替,没有额外参数记录。
编辑:-llog是一个链接器标志,而不是编译器标志。删除
LOCAL_CFLAGS := := ... -llog
而是写
LOCAL_LDLIBS := -llog
答案 1 :(得分:0)
如果您将Android Studio与gradle一起使用,则会忽略Android.mk。将其添加到build.gradle文件中:
android {
defaultConfig {
ndk {
moduleName "your_module_name"
ldLibs "log"
}
}
}