前言
我们需要对AudioFlinger进行一些修改,并在不刷机的情况下动态替换掉机器上的AudioFlinger库
步骤
-
基于源码修改AudioFlinger内容,比如我这里在Threads.cpp里增加了一些日志打印
编译源码
- 编译Android源码
./build.sh -A - 也可以直接指定模块编译【推荐】
make libaudioflinger参照的各模块编译命令【网上转载的图片】
- 找到libaudioflinger.so
- 编译整个Android系统的话,一般在系统源码根目录下的
out/target/product/【xxx】/system/lib64里 - 编译指定模块的话在
out/target/product/【xxx】/obj/SHARED_LIBRARIES/libaudioflinger_intermediates里
- 替换系统内的libaudioflinger.so,记得备份下原来的so
adb push libaudioflinger.so /system/lib64/libaudioflinger.so
- 重启即可生效

