回答:
adbデーモンが適切に起動するまで待機するだけであることが既にわかっているため、デバイスの待機は十分です。これはすでに初期化されています。完全なブートを確認するには、次のようなスクリプトに広告を表示できません。
擬似的に:
これは動作するはずです。
このようなもの:
#!/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
これはテストされていないため、潜在的な間違いに注意してください
getprop
キャリッジリターンがあることに気付いたので、adb
コマンドを変更$(adb shell getprop sys.boot_completed | tr -d '\r')
してトリックを実行しました。これは、キャリッジリターン文字を削除するだけです。
ここに私が思いついたものがあります:
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"