
Отложенный запуск скриптов на 4.2
-
- Сообщения: 286
- Зарегистрирован: 28 окт 2015, 04:43
На 4pda в соответствующей теме для решения проблемы с невыполнением (или слишком ранним выполнением) скриптов запускаемых через системный сервис (скрипт) был предложен костыль с until и getprop sys.boot_completed, только вот до 5-ки этого intent'a не было и как выкрутиться на более ранних андроидах непонятно
Есть у кого какие мысли на этот счёт ?

Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
-
- Сообщения: 447
- Зарегистрирован: 12 авг 2015, 14:14
- Откуда: Смоленск
-
- Сообщения: 286
- Зарегистрирован: 28 окт 2015, 04:43
ну если добавить sleep, то там по моему затормозится всё что следует за инициализирующим системным скриптом (у меня это install-sercovery.sh) + sleep должен быть немаленьким. В until по крайней мере можно поставить небольшой таймаут + getprop sys.boot_completed и пусть себе долбится, пока значение интента не сменится.Zyxmon писал(а):А если sleep добавить (число секунд подобрать)?
Пока видится пара вариантов - найти ведроидную тулзу, которая позволяет подцепить shell-скрипт при запуске и через run-parts городить огород (по моему Tasker умеет подобное), либо затолкать в install-recovery.sh всё тот же until с небольшим таймаутом, но в качестве условия проверки выбрать что-то другое. К примеру наличие определённого процесса.
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]
-
- Сообщения: 286
- Зарегистрирован: 28 окт 2015, 04:43
В принципе вариант с Tasker'ом выгорел. Профиль Событие -> Система -> Загрузка окончена. Действие run shell + таймаут запуска 10 секунд (может позже подкручу в сторону уменьшения).
Из всего списка команд не запустился только socat, который натравлен на мониторинг определённого порта и выхлопом содержимого STDOUT в файл, ну да на досуге поразбираюсь, чем Tasker не устроил socat ...
Из всего списка команд не запустился только socat, который натравлен на мониторинг определённого порта и выхлопом содержимого STDOUT в файл, ну да на досуге поразбираюсь, чем Tasker не устроил socat ...
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]
-
- Сообщения: 223
- Зарегистрирован: 17 июл 2017, 00:29
ZigZag писал(а):Источник цитаты был предложен костыль с until и getprop sys.boot_completed, только вот до 5-ки этого intent'a не было
Если совсем не хотите костылей: исправляйте init.rc в рамдиске, используя конструкцию on property. Вам тогда init сам все запустит, когда надо. Но таки это не intent, а свойство!
Для старых андроидов может сработать свойство dev.bootcomplete. Хоть в костыльном, хоть в бескостыльном вариантах.
-
- Сообщения: 286
- Зарегистрирован: 28 окт 2015, 04:43
Это трудно назвать "plug-n-play" решением, да и не настолько у меня прокачан скилл в этом плане.Если совсем не хотите костылей: исправляйте init.rc в рамдиске, используя конструкцию on property.
Не силён в нюансах ведра, так что могу местами ошибатьсяНо таки это не intent, а свойство!
СпасибоДля старых андроидов может сработать свойство dev.bootcomplete. Хоть в костыльном, хоть в бескостыльном вариантах.

В getprop оно есть, так что на досуге попробую. Пока на отлично справляется Tasker (почти)

Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]
-
- Сообщения: 223
- Зарегистрирован: 17 июл 2017, 00:29
ZigZag писал(а):Источник цитаты Это трудно назвать "plug-n-play"
В данном случае, правильного "plug-n-play" решения нет. Ну, кроме явного использования ява-машины.
Кстати, если вы на 4.2, у вас как, getprop нормально работает в ssh-сессии? Насколько я помню, в некоторых случаях dropbear удалял файловый дескриптор свойств и getprop переставал работать. Не замечали?
На новых версиях проблем с этим уже нет.
-
- Сообщения: 286
- Зарегистрирован: 28 окт 2015, 04:43
Я хз, но как-то не довелось юзать dropbear из entware на том смарте. Юзаю sshdroid, там тот же dropbear + меньшее количество возни. Там с getprop проблем вроде не было, но могу проверитьКстати , если вы на 4.2, у вас как, getprop нормально работает в ssh-сессии? Насколько я помню, в некоторых случаях dropbear удалял файловый дескриптор свойств и getprop переставал работать. Не замечали?
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]
-
- Сообщения: 286
- Зарегистрирован: 28 окт 2015, 04:43
Вернуться в «Entware на Android»
Кто сейчас на конференции
Всего 3 посетителя :: 1 зарегистрированный, 0 скрытых и 2 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33
Сейчас этот форум просматривают: Bing [Bot] и 2 гостя