если у кого-то есть идеи, как сохранять в файл с основным логом, так что бы он не ломал его работу - буду рад выслушать)
Android Manager - модуль для управления android эмуляторами
-
Круто.. Но немного не понятно с настройкой.. Мануал б подробный для не далеких))))
-
Для 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 или связанные с селекторами, проделать следующие процедуры:
- Скачать и установить Node JS.
- Установить пакет appium-doctor
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.
Да, есть такая проблема. По ходу вьювер и либа используют один и тот же порт для подключения. На новой версии такого не будет.
