java - What is in android.util.Log#println_native()? -
here android.util.log source code.
at bottom (line 340), in method:
public static native int println_native(int bufid, int priority, string tag, string msg); i guess println_native() more or less println(), int bufid different.
but got codes of println_native(), still lack com.android.internal.os.runtimeinit (line 19, import) simulate android.util.log in old android version.
just did digging in android source code. function maps to
static jint android_util_log_println_native(jnienv* env, jobject clazz, jint bufid, jint priority, jstring tagobj, jstring msgobj) { const char* tag = null; const char* msg = null; if (msgobj == null) { jnithrownullpointerexception(env, "println needs message"); return -1; } if (bufid < 0 || bufid >= log_id_max) { jnithrownullpointerexception(env, "bad bufid"); return -1; } if (tagobj != null) tag = env->getstringutfchars(tagobj, null); msg = env->getstringutfchars(msgobj, null); int res = __android_log_buf_write(bufid, (android_logpriority)priority, tag, msg); if (tag != null) env->releasestringutfchars(tagobj, tag); env->releasestringutfchars(msgobj, msg); return res; } basically passes arguments driver in system goes , writes log buffer. log buffer pointed /dev/log in linux kernel.
Comments
Post a Comment