native层的定制,一般是为了满足framework层代码的调用需求,Native层分为两部分,JNI和native。JNI层是native层C/C++与framework层java交互的桥梁。
- 在打印日志TAG="hpp"的时候,在JNI层和native层分别修改Log的输出结果。
JNI层修改Log的输出结果
1、查找android_util_Log.cpp文件
2、查找android_util_Log_println_native方法
3、加入下面代码
if (strcmp(tag, "hpp")) {
msg = "JNI changed";
} 复制代码
4、进入android_util_Log.cpp目录
godir android_util_Log.cpp复制代码
5、执行mm
6、输出
Install: out/target/product/generic/system/lib/libandroid_runtime.so复制代码
7、将文件push到手机
adb push $(gettop)/out/target/product/generic/system/lib/libandroid_runtime.so /system/lib/复制代码
8、重启系统
stop;start复制代码
native层修改Log的输出结果
1、查找logd_write.c文件
2、查找__android_log_buf_write方法
3、加入下面代码
if (strcmp(tag, "hpp")) {
msg = "Native changed";
} 复制代码
4、进入logd_write.c目录
godir logd_write.c复制代码
5、执行mm
https://www.365yg.com/i6436857259367596545/#mid=1565254704995330