Вы можете взаимодействовать с эмулятором через интерфейс консоли .
Если вы когда-нибудь задумывались, почему ваш эмулятор начинался с номера, например 5554, - это потому, что это порт, который слушает эмулятор.
Вы можете найти порт для запуска эмуляторов с помощью команды adb devices
. Он будет иметь следующий вывод:
C:\>adb devices
List of devices attached
emulator-5554 device
Таким образом, вы можете подключиться к эмулятору с помощью команды вроде:
telnet localhost 5554
При успешном подключении вы получите приглашение OK
и сможете начать вводить команды.
Существуют различные команды, но нас интересует event
для имитации аппаратных событий. Мы можем разблокировать экран, нажав Меню , которое мы эмулируем с помощью следующей команды:
event send EV_KEY:KEY_MENU:1 EV_KEY:KEY_MENU:0
EV_KEY:KEY_MENU:1
- это событие нажатия клавиши, а EV_KEY:KEY_MENU:0
- соответствующее событие нажатия клавиши. Удостоверьтесь, что вы делаете и то и другое, иначе клавиша меню застрянет.
Я понимаю, что писать сценарии будет непросто, но это все, что я могу придумать, чтобы решить вашу проблему.
Редактировать: Я не думаю, что event send EV_KEY:KEY_MENU:1 EV_KEY:KEY_MENU:0
эмулирует Меню , но если я запускаю команду сразу после запуска эмулятора, делает разблокировать его Не знаю почему, но я думаю, это начало.