bem, espere pelo dispositivo, como você já percebeu, aguarda apenas até o daemon adb ser iniciado corretamente. Isso já está no tempo de inicialização. Para verificar uma inicialização completa, você não pode adicionar ao seu script algo como:
em pseudo:
- esperar pelo dispositivo
- contanto que getprop sys.boot_completed! = 1 durma alguns segundos, verifique getprop sys.boot_completed novamente
- evento de chave de entrada do shell 82
Isso deve funcionar.
Algo assim:
#!/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
Isso não foi testado, portanto, esteja ciente de possíveis erros