0

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

  1. 为 c 库添加 -llog 到 Android.mk

    LOCAL_CFLAGS := := ... -llog

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

    #include <android/log.h>

  3. 添加行

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

错误:__android_log_print 无法识别。

我应该怎么做才能让它工作?

4

2 回答 2

0

__android_log_printprintf在第三个之后接受可变参数,类似参数。利用

__android_log_write(ANDROID_LOG_DEBUG, "MyApp", "This is method X");

相反,对于没有额外参数的日志记录。

编辑: -llog 是链接器标志,而不是编译器标志。消除

LOCAL_CFLAGS := := ... -llog

而是写

LOCAL_LDLIBS := -llog
于 2013-03-25T20:17:01.400 回答
0

如果你使用带有 gradle 的 Android Studio,它会忽略 Android.mk。将此添加到您的 build.gradle 文件中:

android {
  defaultConfig {
    ndk {
        moduleName "your_module_name"
        ldLibs "log"
    }
}
}
于 2015-10-15T09:58:34.467 回答