Триггер Android init.rc при выходе из службы - PullRequest
1 голос
/ 25 февраля 2011

Я смог запустить свои собственные сервисы из скрипта инициализации (init.rc) в Android, следуя инструкциям на: http://www.androidenea.com/2009/08/init-process-and-initrc.html или с официальной документацией на https://android.googlesource.com/platform/system/core/+/froyo-release/init/readme.txt

Существует триггер с именем "on service-exit - <<em> name >", где name - это имя службы, которая должна выйти до выполнения действий этого триггера. , Однако этот триггер, похоже, не работает. Я запустил небольшой сценарий оболочки в качестве службы и соответственно создал триггер для запуска всех оставшихся служб. Кажется, что процесс инициализации зависает после выполнения моего скрипта и не продолжается с остальными сервисами.

Конечная цель будет заключаться в достижении чего-то вроде контролируемого или «поэтапного» процесса загрузки, где я могу убедиться, что сначала выполняется этот сценарий, а затем запускаются оставшиеся службы. Я также пытался добиться этого с помощью различных классов обслуживания, но не смог

Любая помощь по этому вопросу приветствуется.

Ответы [ 2 ]

6 голосов
/ 21 апреля 2011

, читая источники, которые я обнаружил, что init устанавливает свойство (init.svc. ) в значение "остановлено" при выходе из службы.это означает, что вы можете использовать триггеры свойств для достижения того, что должен делать service-exit- :

service 2nd_svc /system/bin/2nd_svc
    oneshot
    disabled

on property:init.svc.1st_svc=stopped
    start 2nd_svc
1 голос
/ 20 апреля 2011

Судя по исходному коду (system/core/init/init.c), эта опция задокументирована, но не реализована.

...