【发布时间】:2016-05-05 12:33:38
【问题描述】:
我可以将 LD_PRELOAD 与普通的原生应用程序一起使用,例如ls:
LD_PRELOAD=/path/to/my/library.so ls
经过一番搜索,我还可以通过设置此类属性将它与 java 应用程序一起使用:
adb shell setprop wrap.com.some.app LD_PRELOAD=/path/to/my/library.so
但是我有兴趣将 LD_PRELOAD 与 mediaserver 进程一起使用。这很棘手,因为它一直在后台运行。如果你杀了它,它会自动重新启动。我可以通过以下方式开始“第二个实例”:
LD_PRELOAD=/path/to/my/library.so /system/bin/mediaserver
它会加载我的库,尽管“第二个实例”不会用于任何播放。始终原始媒体服务器将处理媒体操作。 那么有什么方法可以将 LD_PRELOAD 与 mediaserver 一起使用,而无需修改设备上的 init.rc 文件?
【问题讨论】:
标签: android linker ld-preload