AOSP之修改Native层代码

2,400 阅读1分钟

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