前言
我們需要對(duì)AudioFlinger進(jìn)行一些修改,并在不刷機(jī)的情況下動(dòng)態(tài)替換掉機(jī)器上的AudioFlinger庫(kù)
步驟
-
基于源碼修改AudioFlinger內(nèi)容薛训,比如我這里在Threads.cpp里增加了一些日志打印
編譯源碼
- 編譯Android源碼
./build.sh -A
- 也可以直接指定模塊編譯【推薦】
make libaudioflinger
參照的各模塊編譯命令【網(wǎng)上轉(zhuǎn)載的圖片】
- 找到libaudioflinger.so
- 編譯整個(gè)Android系統(tǒng)的話,一般在系統(tǒng)源碼根目錄下的
out/target/product/【xxx】/system/lib64
里 - 編譯指定模塊的話在
out/target/product/【xxx】/obj/SHARED_LIBRARIES/libaudioflinger_intermediates
里
- 替換系統(tǒng)內(nèi)的libaudioflinger.so刘急,記得備份下原來(lái)的so
adb push libaudioflinger.so /system/lib64/libaudioflinger.so
- 重啟即可生效