Релиз ZennoDroid Enterprise 2.4.6.0 — Новые модели с Андроид 14, 15, 16 • Расширена база мобильных операторов • Управление генерацией модели

ZennoLab Team

Super Moderator
Команда форума
Регистрация
22.01.2019
Сообщения
1 996
Благодарностей
4 348
Баллы
113


Весь список изменений 2.4.6.0

Добавлено:

+ Добавлена новая группа экшенов Управление LSPosed. Позволяет легко управлять различными модулями LSPosed при помощи которых осуществляется подмена параметров на устройствах. Теперь можно задать список приложений, к которым необходимо применять подмену, делать и восстанавливать бэкапы настроек без использования API C# Ссылка на справку.

+ Добавлен экшен Сгенерировать устройство. Позволяет сформировать устройство по заданным фильтрам или из предварительно заданных параметров в формате json. Теперь можно легко настраивать параметры генерируемого устройства задавая фильтры и настройки без использования API C#. Справка.

+ Добавлен экшен для включения возможности выполнять javascript в приложениях содержащих WebView. Доступ к WebView в приложениях не являющихся браузерами всегда выключен. Данная настройка позволяет получить доступ к к html разметке не только браузеров, но и приложений использующих WebView (в дереве элементов должен присутствовать элемент android.webkit.WebView). Справка

+ Поддержка эмодзи. Экшены Установить значение и Эмуляция клавиатуры теперь корректно отображают эмодзи и поддерживают их ввод.

+ Обновлена база мобильных операторов, теперь при генерации данных используются все операторы размещенные на сайте https://mcc-mnc.com/.

+ Обновлена база мобильных устройств. Добавлены модели с Android 14, 15 и 16 (Google, Samsung, Motorola).

+ В экшены Поиск по картинке и Поиск по пикселю добавлена возможность указать время ожидания перед поиском.

+ При использовании эмулятора MuMu (не путать с MEmu) добавлена возможность установить тип прокси Clash. Ранее использование Clash вызывало зависание эмулятора.

+ При запуске устройства в ProjectMaker добавлена информация о текущем этапе подключения к устройству. Позволяет лучше понять на каком этапе возникла проблема в случае долгой загрузки.

+ Clash обновлен до версии 1.19.15. Для автоматического обновления необходимо предварительно удалить текущую версию. Справка.

+ Appium Settings обновлен до версии 6.0.8. Для автоматического обновления необходимо удалить установленную версию (io.appium.settings).

+ ScrCpy обновлен до версии 3.3.3. Улучшена поддержка Android 16.

+ UIAutomator2 обновлен до версии 8.1.2.

+ ZennoDroid переведен на .Net Framework 4.8. Если на компьютере отсутствует .NET Framework 4.8, его необходимо установить по ссылке Скачать .NET Framework 4.8 Runtime.

+ Отключена автоматическая генерация GPU (GL Vendor, GL Renderer) при использовании функции API C# instance.DroidInstance.Settings.GenerateRandomLSPosedSettings, которая на некоторых устройствах могла вызвать проблемы с отображением (белый экран).
В случае необходимости генерация может быть включена: для этого можно использовать экшен Сгенерировать устройство (вкладка Дополнительно) или API C# (пример приведен ниже)

+ В API C# добавлены методы для более простой генерации устройств
SetRandomLSPosedSettings(IDeviceFilter filter, IDeviceOptions deviceOptions)
GenerateRandomLSPosedSettings(IDeviceFilter filter, IDeviceOptions options)

Пример генерации модели:
C#:
var filter = new DeviceFilter();
filter.Country = "us";
filter.Version = "12|13|14|15";
filter.GpuVendor = "Qualcomm|ARM";

var options = new DeviceOptions();
options.AddCanvasNoise = true;
options.AddGpu = true;

var json = instance.DroidInstance.Settings.GenerateRandomLSPosedSettings(filter, options);
instance.DroidInstance.Settings.SetLSPosedSettings(json);

+ Модуль ZennoDroid обновлен до версии 1.8.2. Добавлена поддержка новых моделей устройств.

Исправлено:

Добавлена выдача уведомлений в случае установки некорректного значения шума Canvas (при использовании собственного генератора моделей устройства или при использовании API C#).

Где скачать?

ZennoDroid Enterprise 2.4.6.0 уже доступен в личном кабинете!
Также обновление будет предложено при запуске ProjectMaker.


Как сообщать о проблемах?

Просьба сообщать обо всех багах через нашу форму, сопровождая проблему подробным описанием и сценарием воспроизведения. Это позволит нам быстро диагностировать и исправить ошибку.
 
Последнее редактирование модератором:

CheshireCat

Client
Регистрация
07.03.2018
Сообщения
37
Благодарностей
19
Баллы
8
Добавьте, пожалуйста, возможность генерировать AdsId и WiFiState через кубик генерации настроек, сейчас это единственные параметры, из-за которых нужно через C# работать.
 

Shodimaster

Client
Регистрация
11.11.2023
Сообщения
30
Благодарностей
5
Баллы
8
Обьясните пожалуйста баг это или фишка? Что я не так делаю.? в предыдущей версии такого не было. В поле gpu vendor в кубике исчезает всё что я туда напишу.

Видосик

Так же подскажите пожалуйста где актуальный API c# взять
 
  • Спасибо
Реакции: Anatoly79

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
666
Благодарностей
546
Баллы
93
В поле gpu vendor в кубике исчезает всё что я туда напишу.
Да, действительно новый экшен Сгенерировать устройство портит значение в экшене Настройка GPU. Исправим в следующем билде.
В качестве временного решения для установки GPU Vendor можно воспользоваться небольшим хаком
Переключиться на действие Сгенерировать устройство и на вкладке Дополнительно поставить галочку Генерировать GPU. Затем вернуться на действие Настройка GPU

Gpu vendor.gif

Так же подскажите пожалуйста где актуальный API c# взять
Сейчас как раз работаем над обновлением справочных материалов по API. Пока большинство функций можно просмотреть в статье
 
Последнее редактирование:

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 639
Благодарностей
937
Баллы
113
Кайфная обнова, эмуляция клавиатуры вываливается в ошибку, работает только Inpput text (ASCII) и AccessibilityService
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
666
Благодарностей
546
Баллы
93
Кайфная обнова, эмуляция клавиатуры вываливается в ошибку, работает только Inpput text (ASCII) и AccessibilityService
Любой текст или какой-то специфичный с юникодом? Какая ошибка выдается?
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 639
Благодарностей
937
Баллы
113
Любой текст или какой-то специфичный с юникодом? Какая ошибка выдается?
Я пытался цифру 1 ввести, в режиме Natie Input получал Выполнение действия Emulation KeyBoard Ошибка при отправке символов а в режиме adb keyboard Выполнение действия Emulation KeyBoard Используемый способ ввода не соответствует настройкам
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
666
Благодарностей
546
Баллы
93
  • Спасибо
Реакции: Sherminator

Vlad_Curnoi

Client
Регистрация
09.08.2017
Сообщения
527
Благодарностей
225
Баллы
43
После смены способа ввода нужно выполнить Остановку и Запуск
Очень долго ставятся прокси через clash (до того как начал писать вам о clash, заказывал проект на хабре под redsocks2), так вот мне сделали проект на clash, в тот момент времени использовал питон без zde, прокси ставились на лету +-3сек, как вы ввели clash установка занимает 10-15 сек с условием что правил толком нет (2 прилки и пару правил доменов).
Так же при первом запуске ZDE первый круг потока очень долгий и с сбоями (мобильник в сети, ранее в ZDE проект даже без прокси и с прокси выполнялся 180-220 сек, но при запуске проекста с только запущенного ZDE проект отрабатывает 300-400сек, и практически всегда с ошибкой с поиском элемента).
Есть грехи по подмене, генерируем 13 android прилка при любой генерации хоть 11 хоть 15 android. палиться оригинальная версия хоть как подменяй но стокпалится.
Целиком и полностью поддерживаю вас, но есть куда еще стремиться и что оптимизировать.
 

westruk

Client
Регистрация
30.03.2020
Сообщения
403
Благодарностей
130
Баллы
43
Есть грехи по подмене, генерируем 13 android прилка при любой генерации хоть 11 хоть 15 android. палиться оригинальная версия хоть как подменяй но стокпалится.
Подмена версий не спасет от проверок по capabilities. Грамотный детект просто попытается выполнить метод, который существует только на определенном API.
В целом бесперспективный функционал.
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
666
Благодарностей
546
Баллы
93
прокси ставились на лету +-3сек, как вы ввели clash установка занимает 10-15 сек
Установите прокси в режиме clash. Откройте модули Magisk, нажмите Action, чтобы Clash остановился (должна быть надпись service is stopped!!!)
Еще раз нажмите Action, пойдет процесс запуска. Засеките, пожалуйста, сколько времени занимает полный запуск? В логе есть запись clash running time - это время запуска службы, и затем применяются правила еще некоторое время.
Возможно стоит исправить скрипт разработчика, если разница столь существенна.

1765520560918.png1765520673522.png
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
666
Благодарностей
546
Баллы
93
Так же при первом запуске ZDE первый круг потока очень долгий и с сбоями (мобильник в сети, ранее в ZDE проект даже без прокси и с прокси выполнялся 180-220 сек, но при запуске проекста с только запущенного ZDE проект отрабатывает 300-400сек, и практически всегда с ошибкой с поиском элемента).
Проблема именно при выполнении первого круга, следующие итерации проходят быстрее?
 

Vlad_Curnoi

Client
Регистрация
09.08.2017
Сообщения
527
Благодарностей
225
Баллы
43
Проблема именно при выполнении первого круга, следующие итерации проходят быстрее?
Да, 1 круг долгий и практически всегда не доходит до конца, где то не находит элемент или просто долго отрабатывает. Второй круг уже стабилизируется.
 
  • Спасибо
Реакции: Anatoly79

Vlad_Curnoi

Client
Регистрация
09.08.2017
Сообщения
527
Благодарностей
225
Баллы
43
Установите прокси в режиме clash. Откройте модули Magisk, нажмите Action, чтобы Clash остановился (должна быть надпись service is stopped!!!)
Еще раз нажмите Action, пойдет процесс запуска. Засеките, пожалуйста, сколько времени занимает полный запуск? В логе есть запись clash running time - это время запуска службы, и затем применяются правила еще некоторое время.
Возможно стоит исправить скрипт разработчика, если разница столь существенна.

Посмотреть вложение 138405Посмотреть вложение 138406
Так же 0:05 но сам кубик установки занимает 10-15 сек

C#:
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
var settings = new DroidProxySettings.Clash();
//
settings.DnsServers = "https://dns.google/dns-query,https://dns64.dns.google/dns-query";
settings.WhiteList = "com.android.chrome";
//
instance.DroidInstance.Proxy.SetProxy(
    project.Variables["proxy_v"].Value,
    settings
);
project.SendInfoToLog($"Время выполнения функции: {stopwatch.ElapsedMilliseconds} ms"); // в миллисекундах
project.SendInfoToLog($"Время выполнения (тики): {stopwatch.ElapsedTicks}"); // в тиках (очень точно)
в проджекте выполняется за 8.7 сек, в самом zde приложу скрин. Телефон 4gb/64gb, android 10, но и на 13 аналогично. Бывает нужно за круг установить 2-3 раза прокси и это значительно замедляет работу. В clash есть разделения по приложениям и насколько я знаю можно задавать 2-3 прокси как правило для разных приложений, не хватает этой реализации в ZDE, тогда скорость не так важна будет если ставить все за раз.
138410


Так же в проджекте подобные функции успешно выполняются и взаимодействие с элементами как надо
C#:
public IAndroidElementAPI WaitElementByXPath(string xPath)
{
    IAndroidElementAPI element = null;
    try
    {
        element = instance.DroidInstance.AppiumDriver.FindElementByXPath(xPath);
    }
    catch (Exception ex)
    {
        throw new Exception("Не удалось осуществить инициализацию элемента для ожидания, проверьте xPath: " + ex.Message);
    }

    int counter = 0;

    while (element == null)
    {
        if (counter == 10) //Количество попыток для инициализации
        {
            throw new Exception("Элемент не появился: " + xPath);
        }
        project.SendInfoToLog("Ожидание элемента: " + xPath);
        element = instance.DroidInstance.AppiumDriver.FindElementByXPath(xPath);
        Thread.Sleep(3000); //Пауза между попытками в МС
        counter++;
    }

    Thread.Sleep(1000); //Пауза после нахождения элемента в МС, нужна для того что иногда элемент находится в дереве быстрее того как он появится на экране.
    return element; //Возвращаем инициализированный элемент.
}
но в ZDE очень часто ошибки с элемантами, то есть прокручиваю в проджекте проект 5-10 раз, ставлю в ZDE и все в ошибках, скорость выполнения совсем другая, и сам ZDEработает тупее чем проджект, такое и с зенкой, но тут работа в телефоне зенку еще понять можно но тут ресурс лежит на отдельном устройстве. Отладка отнимает слишком много времени, когда проект успешно работает в проджекте, а в самом zde нет
 
Последнее редактирование:
  • Спасибо
Реакции: Anatoly79

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
666
Благодарностей
546
Баллы
93
Я пытался цифру 1 ввести, в режиме Natie Input получал Выполнение действия Emulation KeyBoard Ошибка при отправке символов
Спасибо за замечание. Добавление поддержки ввода эмодзи нарушило ввод в режиме Native Input, исправили в тестовом билде ZennoDroid 2.4.7.0.
* Исправлена ошибка при отправке символов в режиме Native Input.
 
  • Спасибо
Реакции: Sherminator

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)