AOSP之修改Native層代碼

native層的定製,通常是爲了知足framework層代碼的調用需求,Native層分爲兩部分,JNI和native。JNI層是native層C/C++與framework層java交互的橋樑。java

  • 在打印日誌TAG="hpp"的時候,在JNI層和native層分別修改Log的輸出結果。

JNI層修改Log的輸出結果

一、查找android_util_Log.cpp文件android

二、查找android_util_Log_println_native方法bash

三、加入下面代碼spa

if (strcmp(tag, "hpp")) {
   msg = "JNI changed";
} 複製代碼

四、進入android_util_Log.cpp目錄日誌

godir android_util_Log.cpp複製代碼

五、執行mmcode

六、輸出get

Install: out/target/product/generic/system/lib/libandroid_runtime.so複製代碼

七、將文件push到手機
string

adb push $(gettop)/out/target/product/generic/system/lib/libandroid_runtime.so /system/lib/複製代碼

八、重啓系統it

stop;start複製代碼

native層修改Log的輸出結果

一、查找logd_write.c文件class

二、查找__android_log_buf_write方法

三、加入下面代碼

if (strcmp(tag, "hpp")) {
   msg = "Native changed";
} 複製代碼

四、進入logd_write.c目錄

godir logd_write.c複製代碼

五、執行mm


https://www.365yg.com/i6436857259367596545/#mid=1565254704995330

相關文章
相關標籤/搜索