Итак, у меня есть идея проверить мое приложение Android на моем ноутбуке, используя один avd, но с несколькими файлами config.ini, чтобы изменить состав самого avd.
Я создал несколько avds и скопировал файлы config.ini в отдельную папку.
Я также написал bash script to
Итак, у меня большая часть этой работы, но я не могу на всю жизнь меня останавливать/запускать/перезапускать avd.
Я пробовал несколько вещей из различных вопросов SO, включая, но не ограничиваясь
ничего не работает должным образом, регулярно, без блокировки моего script или оставления некоторых остаточных файлов, что означает, что я не могу запустить эмулятор снова.
Кажется, что это должно быть так просто и отличным способом запускать мое приложение на нескольких эмуляторах устройств, без необходимости запускать их все сразу, то, что мой ноутбук никогда не сможет обработать (возможно, 3 один раз)
Сделайте это в оболочке (linux):
adb shell su -c 'svc power shutdown' && echo "target has shut down"
Он остановит цель (правильно отображает окно "выключение системы" внутри эмуляции), а затем закрывает окно эмулятора. Отсутствует устаревший файл блокировки.
Конечно, после запуска вашей цели вам придется подождать до тех пор, пока цель не загрузится правильно и не примет такие команды оболочки adb.
Просто протестировал его на эмулированном целевом андроиде API 19 (kitkat) - работал красиво.
Надеюсь, он решает вашу идею удаленного сценария настройки нескольких целей.
adb root && adb shell 'svc power shutdown' && echo "target has shut down"
то это работает отлично. Спасибо
any_shell_command &
и затемecho $!
вы получите идентификатор процесса задания, которое в последний раз было помещено в фоновый режим, независимо от того, выполнено ли оно как асинхронная команда или с помощью встроенной команды bg, поэтому, если вы запустите свой эмулятор с помощью&
то сможете сохранить его pid где-нибудь, а затем убить его