Android 替换AudioFlinger

186 阅读1分钟

前言

我们需要对AudioFlinger进行一些修改,并在不刷机的情况下动态替换掉机器上的AudioFlinger库

步骤

  1. 基于源码修改AudioFlinger内容,比如我这里在Threads.cpp里增加了一些日志打印

  2. 编译源码

  • 编译Android源码

    ./build.sh -A
    
  • 也可以直接指定模块编译【推荐】

    make libaudioflinger
    
    

    参照的各模块编译命令【网上转载的图片】

image.png

  1. 找到libaudioflinger.so
  • 编译整个Android系统的话,一般在系统源码根目录下的 out/target/product/【xxx】/system/lib64
  • 编译指定模块的话在 out/target/product/【xxx】/obj/SHARED_LIBRARIES/libaudioflinger_intermediates
  1. 替换系统内的libaudioflinger.so,记得备份下原来的so
adb push libaudioflinger.so /system/lib64/libaudioflinger.so

  1. 重启即可生效

👀关注公众号:Android老皮!!!欢迎大家来找我探讨交流👀