Can logcat be used to log NDK code in Android? Or what are logging options from NDK?

ε祈祈猫儿з 提交于 2019-12-03 09:06:41

问题


How would one write logs from inside Native code in Android (NDK)? What are the available options? For example, can logcat be used from inside of NDK to write logs? Or since its more upper level in android, it can not be accessible from NDK?

At the moment I am just aware of writing times from C code with: millis = System.currentTimeMillis();

And with function that would write this time plus any messages to a custom log file.


回答1:


You can use the Android logging

#include <android/log.h>

#define APPNAME "MyApp"

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

Also Make sure you also link against the logging library, in your Android.mk file:

LOCAL_LDLIBS := -llog

It has already been discussed at Any simple way to log in Android NDK code?




回答2:


If you are using the newer Android Studio versions (2.2+) that use CMake, then you will find the following automatically added to your CMakeLists.txt file when you generate a new project with C++ support:

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 )

and

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} )


来源:https://stackoverflow.com/questions/25149481/can-logcat-be-used-to-log-ndk-code-in-android-or-what-are-logging-options-from

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!