Перезагружаемся в Bootloader со сценарием оболочки на несколько устройств зависает, если подключено более одного устройства - PullRequest
0 голосов
/ 22 марта 2019

Полное раскрытие: я новичок в разработке для Android и Linux.

У меня есть сценарий оболочки для циклического подключения подключенных устройств и выполнения команд ADB.

while read -r udid device usb product model device2; do

echo ""
echo $usb
echo ""

# REBOOT
adb -s "$usb" reboot-bootloader

# UNLOCK OEM
fastboot -s "$usb" oem unlock

# REBOOT
fastboot -s "$usb" reboot

done < <(adb devices -l | sed "1d; $ d")

Это прекрасно работает на одном устройстве. Если у меня есть два устройства, первое устройство будет работать, а второе будет зависать:

< waiting for usb:1-2 >

На трех устройствах первое устройство перезагрузится в загрузчик, а затем зависнет, как я сказал выше.

Конечная игра здесь - выполнить этот скрипт (и несколько других) на как можно большем количестве устройств Android одновременно. Этот цикл отлично подходит для отправки нашего APK на каждое устройство, но для разблокировки загрузчика, для запуска этого кода и для загрузки другого сценария для восстановления, он зависает.

Я нашел этот stackoverflow и убедился, что мои правила udev были правильными. Как я уже сказал, это работает на одном устройстве без проблем.

Я также ссылался на этот пост , в котором рекомендовалось изменить цикл while на цикл for, и он имеет тот же результат.

Эти устройства представляют собой телефоны Mediatek, работающие под управлением Android 6.0 Marshmallow. Таким образом, все серийные номера одинаковы (0123456789ABCDEF), если это проблема. Я использую Ubuntu 8.10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...