Я установил valgrind для android, и я могу подтвердить, что он работает, когда я пытался запустить ls с ним, и он отлично работает.
Но как я могу выполнить приложение для Android с помощью собственного компонента, который я хотел бы отлаживать? Я посмотрел на этот вопрос: Как запустить приложение Android с valgrind, но я понятия не имею, как следовать ему. Как переносить приложение в оболочку script? Что такое "обертка". за которым следует имя пакета, которое должно быть?
Я пробовал делать это с com.matthewmitchell.wakeifyplus, являющимся моим пакетом приложений:
setprop wrap.com.matthewmitchell.wakeifyplus "logwrapper /data/local/valgrind"
но он говорит: "Не удалось установить свойство". Что я должен сделать? Я не могу найти пошаговое руководство, которое работает. Я попробовал это (я даже не знаю, что делает setprop):
setprop com.matthewmitchell.wakeifyplus "logwrapper /data/local/valgrind"
С/data/local/valgrind является оболочкой script с разрешениями на выполнение, которая:
#!/system/bin/sh
VGPARAMS='--error-limit=no'
export TMPDIR=/data/data/com.matthewmitchell.wakeifyplus
exec /data/local/Inst/bin/valgrind $VGPARAMS $*
Но когда я запускаю приложение с помощью:
am start -a android.intent.action.MAIN -n com.matthewmitchell.wakeifyplus/.MainActivity
valgrind не отображается в logcat, даже после его очистки.