25 votes

comment faire pour que adb attende l'appareil jusqu'à ce que l'écran d'accueil apparaisse ?

J'ai besoin de déverrouiller mon écran en utilisant adb, et wait-for-device se termine beaucoup trop tôt (lorsque l'appareil est en train de démarrer), et le déverrouillage de l'écran échoue. Y a-t-il un moyen de détecter que l'écran d'accueil, de sorte que je peux lancer le déverrouillage de l'écran alors ?

C'est la commande que j'utilise pour déverrouiller l'écran -

adb wait-for-device shell input keyevent 82

30voto

divided-by-zero Points 952

Bien que wait-for-device, comme vous l'avez déjà compris, n'attende que le démarrage correct du démon adb. C'est déjà le cas au moment de l'init. Afin de vérifier si le démarrage est complet, vous pouvez ajouter à votre script quelque chose du genre :

en pseudo :

  1. attendre un appareil
  2. tant que getprop sys.boot_completed != 1 sleep quelques secondes vérifiez à nouveau getprop sys.boot_completed
  3. entrée shell keyevent 82

Cela devrait fonctionner.

Quelque chose comme ça :

#!/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

Ceci n'est pas testé, soyez donc conscient des erreurs potentielles.

18voto

Пионерка Points 366

Il s'agit d'une vieille question et d'un hors-sujet, mais voici comment procéder en une seule ligne :

adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done; input keyevent 82'

1voto

Andy Balaam Points 111

Voici ce que j'ai trouvé :

adb wait-for-device shell <<ENDSCRIPT
echo -n "Waiting for device to boot "
echo "" > /data/local/tmp/zero
getprop dev.bootcomplete > /data/local/tmp/bootcomplete
while cmp /data/local/tmp/zero /data/local/tmp/bootcomplete; do 
{
    echo -n "."
    sleep 1
    getprop dev.bootcomplete > /data/local/tmp/bootcomplete
}; done
echo "Booted."
exit
ENDSCRIPT

echo "Waiting 30 secs for us to be really booted"
sleep 30

echo "Unlocking screen"
adb shell "input keyevent 82"

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X