可以使用logcat在Android中记录NDK代码吗?或者NDK的日志选项是什么?

时间:2014-08-05 22:39:32

标签: android android-ndk logcat android-logcat

如何从Android(NDK)中的Native代码中写入日志?有哪些选择? 例如,可以从NDK内部使用logcat来写日志吗?或者因为它在Android中更高级别,它无法从NDK访问?

目前我只知道从C代码编写时间: millis = System.currentTimeMillis();

使用将此时间加上任何消息写入自定义日志文件的函数。

2 个答案:

答案 0 :(得分:26)

您可以使用Android日志记录

#include <android/log.h>

#define APPNAME "MyApp"

__android_log_print(ANDROID_LOG_VERBOSE, APPNAME, "My Log", 1);

另外请确保您还链接到Android.mk文件中的日志记录库:

LOCAL_LDLIBS := -llog

已经在Any simple or easy way to debug Android NDK code?

进行了讨论

答案 1 :(得分:16)

如果您使用的是使用CMake的较新的Android Studio版本(2.2+),那么当您生成具有C ++支持的新项目时,您会发现以下内容会自动添加到您的CMakeLists.txt文件中:

find_library( # Sets the name of the path variable.
          log-lib

          # Specifies the name of the NDK library that
          # you want CMake to locate.
          log )

target_link_libraries( # Specifies the target library.
                   your-lib1
                   your-lib2
                   ...

                   # Links the target library to the log library
                   # included in the NDK.
                   ${log-lib} )