Новая версия 1.3
Убрал зависимость от модуля "Строка"В режиме компиляции не работало, если в проекте не было действий этого модуля.
Для Nox, если сначала ввести в консоли:
adb connect 127.0.0.1:62001
То после этого модуль видит эмулятор. Но почему - то не все действия работают.
Пробовал открывать ссылку в браузере, смотреть установленные программы, это все работает.
Но вот приложения не запускаются, просто ничего не происходит.
Так же в переменные среды добавлял первым папку с Nox и тогда не нужно было вручную подключаться через консоль и модуль сразу видел эмулятор. Но что так, что с подключением через консоль запуск приложений не работает. Gow устанавливал, ничего не изменилось.
Кстати еще из возможных проблем почему нет подключения. В Nox отладка по USB включается в скрытом меню для разработчиков, а в Bluestacks в настройках приложения.
@spacerange да, эта команда вроде как нужна для реальных телефонов, видимо и для нокса тоже. Что с телефонами, что с ноксом 100 лет не работал.
По поводу открытия приложений, там обычная adb команда:
adb shell am start -n activityName
Вместо activityName - ваше активити. Возможно, вместо активити название приложения вводите. Попробуйте руками в cmd выполнить.
Активити можно получить через модуль действием "Получить активити". Перед этим открыв приложение. Еще удобно смотреть через аппку Lucky Patcher. Там же можно, кстати, выключать рекламу и пермишенсы у прил.
@thepappo said in AndroidManager - модуль для управления android эмуляторами:
Вместо activityName - ваше активити. Возможно, вместо активити название приложения вводите. Попробуйте руками в cmd выполнить.
Активити можно получить через модуль действием "Получить активити". Перед этим открыв приложение.
Да вы правы, я вызывал список приложений и вводил данные оттуда.
Сейчас сделал как вы сказали, запустил приложение и проверил текущее активити и на самом деле оно более длинное. Приложение запустилось, буду тестировать дальше.
Так же почему - то когда подключился через adb connect, то у меня перестало работать действие получить активити, выдавало ошибку. Сделал снова как раньше, добавил в переменные среды папку с Nox и все заработало.
@thepappo Закрытие приложения работает, а очистить кеш почему - то выдает ошибку:
Процесс завершился с кодом: 1. Ошибка: Android Debug Bridge version 1.0.36 Revision 0e9850346394-android -a - directs adb to listen on all interfaces for a connection -d - directs command to the only connected USB device
Свайп:
Error: Error occured while sending post command to server on device connect ECONNREFUSED 127.0.0.1:9008
@spacerange это опять же ошибки adb. Вообще через adb нокса подключаться не очень правильно. Там старая версия. Его лучше переименовать в _adb.exe. А использовать adb из Android Studio SDK. Я позже потестирую на ноксе. Сейчас занят апдейтом модуля по части многопотока и некоторых других фишек.
@thepappo said in AndroidManager - модуль для управления android эмуляторами:
@spacerange это опять же ошибки adb. Вообще через adb нокса подключаться не очень правильно. Там старая версия. Его лучше переименовать в _adb.exe. А использовать adb из Android Studio SDK. Я позже потестирую на ноксе. Сейчас занят апдейтом модуля по части многопотока и некоторых других фишек.
В свое время делал многопоток на голом adb + nox, правда писал на nodejs но можно было тоже самое написать в БАС. Я к тому что мне кажется на adb меньше гемора чем с этим фреймворком, который в модуле, он мне еще тогда не понравился.
А вообще советую для всех у кого ошибки adb или связанные с селекторами, проделать следующие процедуры:
npm install appium-doctor -g
appium-doctor --android
Вот эти пункты должны быть ОК:

@UserTrue основная проблема - это получение xml дампа. Он нужен, чтобы искать элементы по xpath. Если на голом adb, то его можно дергать через:
adb shell uiautomator dump
Проблема в том, что тут используется первая версия юиавтоматора и действие занимает 2,5-3 секунды, что овер долго. Плюс, уже сам гугл давно отказался от поддержки первой версии.
Во второй версии юиавтоматора уже как раз надо запускать appium сервер и ставить драйвер uiautomator2. На сервер уже посылаются запросы через REST API, и сервер отправляет команды на эмуль. Это работает на порядок быстрее, чем первая версия юиавтоматора. Тот же дамп делает практически мгновенно.
Короче. Я написал уже все. Надо только собрать модуль, что самое сложное. Ты, думаю, меня понимаешь ))
@thepappo said in AndroidManager - модуль для управления android эмуляторами:
@spacerange это опять же ошибки adb. Вообще через adb нокса подключаться не очень правильно. Там старая версия. Его лучше переименовать в _adb.exe. А использовать adb из Android Studio SDK. Я позже потестирую на ноксе. Сейчас занят апдейтом модуля по части многопотока и некоторых других фишек.
Да это из за adb, я где - то видел рекомендацию заменить adb.exe из папки Android Studio SDK в папку Nox.
Попробовал и свайп заработал, но очистка кеша уже теперь выдает другую ошибку, что - то типа неизвестная команда. Но да ладно, буду думать как использовать только Android Studio SDK, что - то никак не хочет к нему подключаться нормально.
@thepappo said in AndroidManager - модуль для управления android эмуляторами:
adb shell uiautomator dump
Да я через него и делал, это было года 3 назад )) Мне тогда не понравился вся эта затея и больше этим не занимался, хотя справедливости ради сделал рабочий многопоток для одной прилы. Тогда еще было много проблем с самими эмуляторами сейчас тот же nox работает гораздо лучше.
@UserTrue многопоток будет работать, конечно. Ну то есть асинхрон. Но скорость будет дно. Я сам на этой библиотеке пишу. Но в ноду ее не присрешь, поэтому было решено присрать аппиум, который по сути для этих задач максимально кошерен и для него есть норм врапперы на ноде.
Выяснил опытным путем что именно без Gow получить текущее активити не работает.
То есть он обязателен для использования модуля. Очистить кеш так и выдает ошибку:
SubprocessError: Процесс завершился с кодом: 1. Ошибка: adb.exe: unknown command adb
Удалил пути и оставил только Android Studio SDK, что по сути дало тоже самое когда я заменял adb.exe в папке Nox. Только теперь нужно вручную подключаться через команду adb connect. В appium-doctor у меня почему - то не было JAVA HOME, прописал вручную, ничего не дало.
Очистить кеш выполнил командой:
adb shell pm clear <package_name>
Еще при использовании UI Automator Viewer, заметил что он не может снять дамп пока BAS подключен к эмулятору, приходится переподключаться в консоли, снимать дамп и потом снова подключаться в BAS.
А так, в целом модуль мне нравится, основное вроде как работает, да некоторые детали нужно допилить и еще есть определенные сложности с первоначальной настройкой (хотя может и мне так повезло).
@spacerange said in AndroidManager - модуль для управления android эмуляторами:
В appium-doctor у меня почему - то не было JAVA HOME, прописал вручную, ничего не дало.
Там не все версии Java вроде работают. У меня такая openjdk-8u282-b08. В папке с установленной джавой должна быть папка bin. Вот так выглядит:

@spacerange said in AndroidManager - модуль для управления android эмуляторами:
Еще при использовании UI Automator Viewer, заметил что он не может снять дамп пока BAS подключен к эмулятору, приходится переподключаться в консоли, снимать дамп и потом снова подключаться в BAS.
Да, есть такая проблема. По ходу вьювер и либа используют один и тот же порт для подключения. На новой версии такого не будет.
Основное изменение данной версии - это переход на Appium, который использует драйвер uiautomator2 для отправки команд на эмуляторы. Appium используется для всех действий, связанных с взаимодействием с элементами по xpath, а также для действий "Подключиться к устройству" (создается сессия указанного устройства по серийному номеру на сервере), "Отключиться от устройства", "Сделать скриншот", "Открыть панель уведомлений" и "Получить XML дамп".
За счет использования аппиума теперь работает многопоток.
Добавил инструкцию по установке и началу работы в шапку темы.
Добавил обновленный шаблон для версии 2.0 в качестве примера.
кто может написать с этим модулем простейший регер для андроид приложения? нужно всего лишь открыть приложение,ввести номер телефона.нажать кнопку реги.выскакивает капча простая цифровая.рещаем ее через сервис. пощел таймер ожидания смс верификации. все.ничего сохранять не нужно.завершать регу Не нужно. кто поможет??! с меня большое пиво!