我正在尝试通过修改“/etc/init/mediadrmserver.rc”然后重新启动mediadrm服务来重新启动Android模拟器上的mediadrmserver。但是,我注意到即使mediadrmserver.rc中存在错误,mediadrm也会重启。
这让我想到了一个问题:如何在Android上启动服务?如何使用自定义命令启动服务?
我最终想要实现的是使用Using Valgrind中给出的步骤在mediadrmserver上运行valgrind。
答案 0 :(得分:0)
mediadrm服务确实使用“/etc/init/mediadrmserver.rc”启动mediadrmserver进程。我遇到的问题是mediadrm服务没有识别我在重新启动期间对“.rc”文件所做的更改。修改“.rc”文件,然后重新启动模拟器为我修复了问题。
至于我想要实现的目标,我通过valgrind运行mediadrmserver,使用给定here的步骤(也适用于任何服务/进程),并使用给定的步骤编译valgrind用于Android模拟器在Valgrind的README.android。
但是,我无法让它工作(valgrind与SIGSEV崩溃),因为它看起来像valgrind只适用于运行Android版本到ICS(4.0.3)的模拟器。此外,Google计划在将来的版本中从平台中移除Valgrind,并建议改为使用Address Sanitizer。