I am trying to print log messages within core Android framework files. For example, I tried logging messages within MediaRecorderClient.cpp
under frameworks\base\media\libmediaplayerservice\
. I've tried LOGV
, LOGE
, LOGD
, printf
, and __android_log_print
, without any success.
Which command should I use to print log messages?
Log should be used, but it will print to logcat not system print.
Example:
Log.d("filter", example text); // filter is any tag you want to use as filter
You can open logcat in eclipse from window-show view -> other -> android -> logcat
What kind of error do you receive? If it does not compile, make sure you've included <android/log.h>, also in Android.mk:
LOCAL_LDLIBS := -llog
If it compiles but does not produce any output, then, like @Warpzit has said, you have to look at logcat to see your messages.
It also seems that you can only pass a char* to the JNI LOG methods. So if you have numbers in your debug string, you have to put them into a char buffer (with sprintf).
/system/core/include/cutils/log.h
defines the macros for logging in the Android Framework.
So you uncomment the line that says #define LOG_NDEBUG 0
at the top of the source file and it will enable VERBOSE logging. You will need to recompile that entire library and put it into your android system.img build.
I believe the macro calls are ALOGV, ALOGE and so on.
It is similar to this other answer:
First declare string
Private String Tag = getClass().getsimplename();
and than in your method
Log.d(Tag,"This is my oncreate method");
来源:https://stackoverflow.com/questions/8307583/how-to-print-log-messages-with-in-android-framework