AOSP之修改Native層程式碼

DroidMind發表於2019-03-30

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



相關文章