如何在共享库中允许android登录?

时间:2013-03-25 11:13:23

标签: android-ndk android-logcat

我正在为Android应用程序编译第三方c库作为共享库。我想将android日志记录添加到c库的源代码中,这样我就可以看到调用哪些方法,使用什么参数。但我不能让它发挥作用。我尝试了以下方法:

  1. 将-llog添加到Android.mk中以获取c库

    LOCAL_CFLAGS:=:= ... -llog

  2. 将头文件添加到我要记录的源文件abc.c中

    #include<机器人/ log.h>

  3. 添加行

    __ android_log_print(ANDROID_LOG_DEBUG," MyApp","这是方法X");

  4. 错误:无法识别__android_log_print。

    我该怎么做才能让它发挥作用?

2 个答案:

答案 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"
    }
}
}