Я могу использовать LD_PRELOAD с обычными нативными приложениями, такими как, например. лс:
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 с медиасервером без изменения файлов init.rc на устройстве?