Разрабатываю автоматизацию андроид приложений на Python + GUI + Memu + БД

Moved Private Software
  • Всем привет. Уже 2 года плотно работаю с автоматизацией андроид приложений на эмуляторах и реальных телефонах. За это время набил много шишек и в итоге накопился ряд собственных наработок, некоторые из которых ни у кого не встречал. Предлагаю свои услуги по автоматизации андроид приложений на эмуляторах.

    На чем пишу софт:
    • Python;
    • Эмулятор — рекомендую Memu как самый стабильный, но можно автоматизировать на BlueStacks или Nox, или на реальных телефонах (сложнее и дороже);
    • База данных — MySQL или Redis;
    • GUI – графический интерфейс, где можно менять настройки, выгружать/загружать акки, прокси, запускать разные режимы работы и любой другой функционал. Выглядит как обычный программный интерфейс на Windows.

    Какие наработки применяются для разработки:
    • Многопоток. Количество потоков = количеству запущенных эмуляторов. Все работает одновременно без простоев.
    • Прокси. Устанавливается свой прокси на каждый эмулятор один раз. Дальше прокси меняются через API прокси провайдера. Обычно используют мобильные или резидентские прокси.
    • Взаимодействие с эмулятором. В отличие от устаревших библиотек, где клики и прочее реализовано нажатием по координатам элемента (X, Y), в той, которую использую я, элементы ищутся по уникальным идентификаторам (id, class, index и т.д.) или xpath. Это гарантирует стабильную работу софта независимо от разрешения экрана на эмуляторе или версии андроид. В отличие от других библиотек, в используемой мной очень высокая скорость эмуляции.
    • Смена фингерпринтов. Для массовой работы на одних и тех же устройствах андроид, как и в браузере, нужно менять фингерпринты. Всего их более 50, и каждый из них генерируется на основе данных реальных телефонов и устанавливается на эмулятор.
    • Изменение настроек Memu. Перед запуском можно менять настройки Memu через его API – imei, imsi, номер телефона, производитель, модель телефона, название сети блютуз, вай-фай и т.д. Как и с фингерпринтами все генерируется из реальных данных по базам сотовых операторов и андроид устройств.
    • Перезапуск эмуляторов (только для Memu). Поскольку после продолжительной работы любые эмуляторы падают, в моем софте реализован перезапуск эмуляторов. В случае если поток отработал с ошибкой, то проверяется статус эмулятора. Если эмулятор не работает, то скрипт автоматом перезапускает его и чекает, возможна ли с него работа. Если все ок — то продолжает работу, если нет, эмулятор отключается, остальные работающие потоки продолжают работать.
    • Сохранение/загрузка профилей. Часто требуется заходить в аккаунты на эмуляторах повторно. Для этого после регистрации/первого входа профиль приложения загружается с эмулятора на ПК, а в базу пишутся данные аккаунта + сгенерированные фингерпринты. При повторном использовании аккаунта на эмуляторе удаляются старые файлы, чистится кеш приложения и загружается сохраненный ранее профиль. Это аналог сессии при работе в браузере. Позволяет каждый раз не авторизовываться заново в приложении и использовать те же данные профиля и фингерпринты устройства, как будто приложение с данными пользователя все время стояло на одном телефоне, как это и бывает в реальной жизни.
    • Изменение Permissions. Некоторые приложения проверяют данные, которые им знать не следует. Например, запрашивают доступ к телефону или местоположению. Информацию о телефоне, к примеру, можно поменять только каждый раз перезапуская эмулятор, что очень долго и не очень стабильно. Это решается отключением соответствующих разрешений в самом приложении. Я это делаю бесплатно в рамках услуги по автоматизации приложения.
    • Удаление рекламы в приложении. Во многих приложениях встроена реклама, которая появляется в ненужный момент и может нарушить логику автоматизации. В рамках услуги по автоматизации я бесплатно вырезаю эту рекламу из приложения, там где это необходимо.

    Примеры того что автоматизировал:

    Комбайн Viber (телефоны и эмуляторы)

    Комбайн IMO (телефоны и эмуляторы)

    Регер Whatsapp (эмуляторы)

    Регер Юmoney (графический интерфейс, эмуляторы)


    Скрины:

    Регер и рассылка TextPlus (графический интерфейс, эмуляторы)


    Скрины:

    Примерный бюджет и сроки на автоматизацию через эмуляторы:

    Бюджет от 40к руб. В базовую стоимость входит:
    1. скрипт автоматизации с базовым функционалом и графическим интерфейсом под эмуляторы MEmu. Например, регистрация с минимальным заполнением данных (логин, пароль, телефон/почта, имя), с подтверждением SMS через один сервис или подтверждение по почте через IMAP (через один почтовый сервис);
    2. многопоток;
    3. смена прокси;
    4. смена фингерпринтов;
    5. сохранение аккаунтов;
    6. запись данных в БД;
    7. графический интерфейс для запуска скрипта, установки прокси, загрузки данных в базу и выгрузки данных из базы;
    8. инструкция по самостоятельной установке окружения;
    если по какой-то причине сами устанавливать софт не хотите, то установка мной на удаленный Windows Server оплачивается отдельно — 3к руб.;
    9. поддержка скрипта в рамках исправления возможных багов — 1 неделя.

    Любой дополнительный функционал может быть реализован, рассчитывается и обсуждается индивидуально с заказчиком.

    Сроки — от 5 дней.

    Софт предоставляется в открытом виде и мной нигде не будет продан и распространен.

    Возможна ли автоматизация на запросах?

    Да, но очень редко. В современных приложениях обычно запросы шифруются, либо используются свои протоколы, отличные от стандартных HTTP запросов. Я НЕ занимаюсь реверс-инжинирингом. Могу проснифать приложение, если там обычные запросы в незашифрованном виде, то можно автоматизировать.

    Если вы предполагаете, что можно сделать на запросах, то пишите, обсудим. Но сразу предупрежу, что стоимость и сроки будут дороже и дольше, чем на эмуляторах.

    Если у вас приватная тема по спаму, и вы уверены, что ее можно автоматизировать на запросах, то возможна реализация вашей идеи с хорошей скидкой.

    Что я гарантирую:
    1. Работу скрипта по автоматизации в рамках ТЗ.
    2. Фиксы возможных багов в рамках оговоренного в ТЗ функционала в течение 1 недели после получения вами скрипта.

    Что я НЕ гарантирую:

    Все, что от меня не зависит, в том числе:
    • бесперебойную работу эмуляторов, т. к. все они после длительного использования зависают и уходят в черный экран. Мой софт перезагружает зависшие эмуляторы, но со временем они стопаются окончательно и перезагрузка уже не помогает. Поэтому все равно нужно следить за работой софта;
    • баны аккаунтов;
    • что интерфейс приложения не поменяется — переделка возможна по отдельному согласованию за отдельную плату в рамках отдельного проекта, даже если все поменяется на следующий день после принятия вами проекта.

    Что нужно для заказа:
    1. ТЗ в текстовом формате или видео, где вы показываете алгоритм работы.
    2. Предоплата 20%. После того как будет сделано, показываю через тимвивер, и переводите остальное.

    Телеграм для связи: shokoladny_zayac

  • @thepappo said in Разрабатываю автоматизацию андроид приложений на Python + GUI + Memu + БД:

    Взаимодействие с эмулятором. В отличие от устаревших библиотек

    Привет. Какая библиотека для взаимодействие с эмулятором, если не секрет?

  • @pijonz привет. Не то чтобы секрет, но свои наработки палить не хочется )

  • @thepappo , не то чтобы секрет, но секрет)

  • @thepappo
    давайте будем честны, это не ваши нароботки, а опернсоурс библиотека и по лицензии этой самой библиотеки ваше сообщение о своих наработках является нарушением, этой самой лицензии. Уважайте чужой труд. Удачи вам!

  • @kotikov said in Разрабатываю автоматизацию андроид приложений на Python + GUI + Memu + БД:

    @thepappo
    давайте будем честны, это не ваши нароботки, а опернсоурс библиотека и по лецинзии этой самой библиотеки ваше сообщение о своих наработках является нарушением этой самой лецензии. Уважайте чужой труд. Удачи вам!

    @kotikov Я вот не пойму кому какое дело? Человек предлогает услугу, кому интересно то обратится. Он что обязан пошаговую инструкцию писать что и как?

    Библиотек готовых много только вот из них еще надо собрать готовое решение и не всегда они отвечают требованиям и приходится делать форки или писать вообще с нуля нечто подобное.

    Взять тот же БАС, многие заказчики о нем знают, но всеравно заказывают, что бы им сделали готовый скрипт.

  • @UserTrue
    Я вот не пойму кому какое дело? Человек предлогает услугу, кому интересно то обратится. Он что обязан пошаговую инструкцию писать что и как?

    Пошаговую инструкцию писать не обязан, но соблюдать лицензию обязан. Опять же даже если бы он сказал что это секрет, я бы нечего не написал бы.

  • @kotikov said in Разрабатываю автоматизацию андроид приложений на Python + GUI + Memu + БД:

    @UserTrue
    Я вот не пойму кому какое дело? Человек предлогает услугу, кому интересно то обратится. Он что обязан пошаговую инструкцию писать что и как?

    Пошаговую инструкцию писать не обязан, но соблюдать лицензию обязан. Опять же даже если бы он сказал что это секрет, я бы нечего не написал бы.

    А с чего вы взяли, что он врет? Я например писал подобную мини библиотеку на nodejs тоже для этой же цели.

    Ну, а про лицензии на этом ресурсе вообще смешно слышать. Если вы автор библиотеки, которую использует автор и он нарушает ее лицензию и вы можете это подтвердить, то пишите администрации.

  • @UserTrue

    А с чего вы взяли, что он врет?

    Я не говорил что он врет, скорее недоговорил, а что именно испольузется у кого есть опыт в этом деле, легко понять. И смотрите ссылку я на библиотеку не дал, опять же из уважение к ТС.

    Если вы автор библиотеки

    Скорее коммитер, да и если бы автором был не сделал бы такое.

  • @kotikov said in Разрабатываю автоматизацию андроид приложений на Python + GUI + Memu + БД:

    Я не говорил что он врет, скорее недоговорил, а что именно испольузется у кого есть опыт в этом деле, легко понять. И смотрите ссылку я на библиотеку не дал,

    На nodejs тоже есть библиотеки, тем не менее я написал свою...

  • @UserTrue
    На nodejs тоже есть библиотеки, тем не менее я написал свою...

    Да есть, очень плохого качества, как бы мне этого не хотелось, большинство библиотек на nodejs очень плохого качества и дизайна.

  • @kotikov said in Разрабатываю автоматизацию андроид приложений на Python + GUI + Memu + БД:

    большинство библиотек на nodejs очень плохого качества и дизайна.

    Потому что она больше про бэкенд и сборку фронтенда.

  • @kotikov ну поделитесь же ссылкой на библиотеку в личку))

  • This post is deleted!
  • добрый день. хотел бы обсудить и возможно сделать заказ.
    в телеге на мои вопросы написали писать на форум. вопрос - выкладывать примерное тз прям сюда в тему?

  • @basuser123 said in Разрабатываю автоматизацию андроид приложений на Python + GUI + Memu + БД:

    в телеге на мои вопросы написали писать на форум. вопрос - выкладывать примерное тз прям сюда в тему?

    Одно дело вопросы, когда вы что-то сами делаете. И другое дело ТЗ на готовый скрипт. Если тз, то обычно отправляют в ЛС и там и обсуждают. Но в принципе дело ваше, да и тема это не моя xD

  • @basuser123 said in Разрабатываю автоматизацию андроид приложений на Python + GUI + Memu + БД:

    в телеге на мои вопросы написали писать на форум. вопрос - выкладывать примерное тз прям сюда в тему?

    У вас были именно вопросы про эмуляторы. И не просто вопросы, а собрание сочинений в трех томах. Я и написал спрашивать на форуме. Вы зачем-то скопировали вопросы из тг и написали в ЛС. В ЛС вам написал спрашивать в теме по андроиду. Вы зачем-то сюда написали.

    Если хотите заказать скрипт - скидывайте ТЗ (формат видео желательно) и бюджет. В этом случае можно и в тг.

  • ModeratorM Moderator moved this topic from Off topic on
  • ModeratorM Moderator moved this topic from Other on