Следуя примеру, приведенному в этом посте , я добавил эти строки в /init.rc:
on property:dev.bootcomplete=1
start boot_handler
service boot_handler /system/bin/bc_handler.sh
class main
user root
group root
disabled
oneshot
А это /system/bin/bc_handler.sh:
#!/system/bin/sh
echo hi > /data/local/hi.txt
Я создаю Android 8.0 для эмулятора. Когда система запускается, я вижу, что скрипт не запускался, и в журналах видно это сообщение:
[ 217.280853] init: service boot_handler does not have a SELinux domain defined
Я попытался изменить свой сервис, чтобы он выглядел так:
service boot_handler /system/bin/sh /system/bin/bc_handler.sh
class main
user root
group root
disabled
oneshot
seclabel u:r:shell:s0
и теперь ошибка
init: Service 'boot_handler' (pid 1729) killed by signal 1
Есть ли документация о том, как добавить новый сервис в Android под SELinux? Или документация о том, как отключить SELinux на Android? Я часами гуглю, и вся информация, которую я нахожу, кажется устаревшей.