добре зачекайте на пристрій, оскільки ви вже зрозуміли, що тільки чекаєте, поки демон adb належним чином запуститься. Це вже під час init. Для того, щоб перевірити наявність повного завантаження, ви не можете рекламувати свій сценарій на кшталт:
у псевдо:
- чекати пристрою
- доки getprop sys.boot_completed! = 1 сон кілька секунд перевірити getprop sys.boot_completed знову
- вхід оболонки keyevent 82
Це має спрацювати.
Щось на зразок цього:
#!/bin/bash
adb wait-for-device
A=$(adb shell getprop sys.boot_completed | tr -d '\r')
while [ "$A" != "1" ]; do
sleep 2
A=$(adb shell getprop sys.boot_completed | tr -d '\r')
done
adb shell input keyevent 82
Це не перевірено, тому будьте в курсі потенційних помилок