Статья написана в пользовательском блоге — редакция Партнеркина не вносит изменения в текст. Вся орфография, пунктуация и содержание сохранены Подробнее про пользовательские блоги и о том, как зарабатывать до 3 000 ₽ за статью 😎
16 июня 2023 0 2966

Автоматизация физических устройств и эмуляторов ОС Android на Python и пошаговая инструкция по автоматизации TikTok на нескольких устройствах

Привет, мой дорогой друг, сегодня научимся автоматизировать Android с помощью Python! Поехали! Статья разделена на две части, каждая из которых содержит свой урок. В первой части мы разберемся, как автоматизировать Android  вцелом, а во второй части я расскажу, как автоматизировать TikTok на нескольких Android-устройствах. Обязательно читайте все по порядку, чтобы у вас не возникало никаких проблем! Если же они возникнут, не стесняйтесь задать мне вопрос, а я постараюсь вам помочь! :)

Мои соц.сети:

Мой канал Telegram: https://t.me/sorsha_channel

Мой YouTube: https://www.youtube.com/@Sorsha_go

Мой Tiktok: https://www.tiktok.com/@sorsha_go

Часть №1: Автоматизация Android

Список литературы и библиотек:

Как установить Python: https://www.youtube.com/watch?v=swZA4EJnsG0

ADB (Android Device Bridge): https://developer.android.com/tools/releases/platform-tools

Uiautomator2: https://github.com/openatx/uiautomator2

Команды ADB: https://gist.github.com/Pulimet/5013acf2cd5b28e55036c82c91bd56d8

Гайд по которому я учился: https://www.youtube.com/watch?v=RmiDYk82YHc

В статье я лишь опишу, как сделать настройку. Потому что мне кажется, здесь должна быть кратенькая инструкция. После текстовой части вы найдете видео-уроки на YouTube, где я подробно все показал и рассказал. Ко обоим видео собраны таймкоды, которые можно найти в закрепленном комментарие. В первом видео я обозначил, где заканчивается настройка и начинается работа с библиотекой.

Подготовка

  1. Для начала нам необходимо скачать ADB и распаковать его. Скачать можно здесь. После того как скачаем и распакуем, увидим следующее:

  2. Теперь запустим adb сервер, и проверим работоспобность.

    Открываем консоль и прописываем команду:

    adb start-server

    Если же все четко, то мы увидим следующую картину:

    Отлично, мы запустили adb server!

  3. Далее, необходимо на телефоне подключить "Режим разработчика".

    Буду описывать для телефона Xiaomi Note 10. Для всех остальных телефонов примерно одно и тоже.

    Открываем "О телефоне" и несколько раз жмем на "Номер сборки" или "MIUI Version" ( в большинстве случаев именно эти строчки, в противном случае, потыкайте на все возможные строчки), после увидим уведомление о том, что мы стали разработчиком. 

    Двигаемся теперь в настройки. Если же у вас на руках Xiaomi с прошивкой MIUI, то будет следующим Additional settings > Developer options.

    Если же без каких оболочек, то скорее всего в настройках, в самом низу, вы увидите Developer options. После того как мы провалились в Developer options нам необходимо подключить "Отладку по USB":

    Включаем все следующиу ползунки. Далее подключаем телефон к компу и принимаем все всплывающие окна авторизации. Также передача данных выбираем "File Transfer/Android Auto".

    Отлично! Мы завершили настройку нашего телефона для того чтобы его автоматизировать.

Вот моя пошаговая видео-инструкция:

Автоматизация физических устройств и эмуляторов на ОС Android язык программирования Python часть №1:

Оставил тайм коды в закрепленном комментарие!

Часть №2: Автоматизация TikTok на нескольких устройствах

Эта часть будет полезна для тех, кто хочет автоматизировать TikTok, более чем на одном устройстве Android. Если Вы опираетесь на мои видео автоматизации и на моё решение RotateCaptcha, то тут есть одна загвоздка, которую я не проговорил в своем видео.

Проблема

У каждого телефона, есть своё разрешение изображения и значение DPI, которое необходимо подгонять под значения того телефона, на котором производилось решение капчи. Только так, и никак иначе. Берегу ваше время!

Если мы откроем одну и ту же картинку, сделаем скриншот с двух телефонов, у одного допустим разрешение изображения будет 720×1560 dpi 269 (Huawei p40 lite e), а другого 1080×2400 409 dpi (Xiaomi Note 10). Я приведу очень грубый, но наглядный пример.

Возьмем изображение:

 

Далее, сделаем скриншот этого изображения на двух телефонах:

720×1560 dpi 269 (Huawei p40 lite e)

 

 

1080×2400 409 dpi (Xiaomi Note 10)

 

По сути, они одинаковые, верно? Но нет, это вовсе не так.

Смотрите, так как разрешения изображений разное и разная "минимальная ширина"(dpi), картинки технически разные, сейчас вы поймете, о чем я. Напишу небольшой скрипт на Python с разностным хэшированием:

 

Запустим наш скрипт и видим результат:

 

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

Решение

  1. Берем телефон, на котором необходимо изменить размер изображения. Переходим в "Параметры разработчика" и далее ищем строчку "Минимальная ширина" и меняем его на значение, которое стоит у "Родительского" телефона, с которого производили решение капчи:
  2. Заходим в папку platform-tools (adb, в прошлом уроке мы его скачали), открываем консоль и прописываем команду:

    adb shell wm size Ширина×Высота

    Подгоняем наш "дочерний телефон" под "родительский телефон", на котором проводилось решение капчи.

    Если надо сбросить изображение и привести к дефолтному из коробки, то пишем команду:

    adb shell wm size reset

Таким образом, теперь все телефоны будут решать капчу! Вот моя подробная видео-инструкция:

Автоматизация физических устройств и эмуляторов на ОС Android язык программирования Python часть №2

 

Заключение

На этом всё! Спасибо:)

Подписывайся на все мои соц.сети, я буду продолжать тебя радовать контентом! Ваши лайки/подписки/комментарии, для меня является огромной мотивацией. Я хочу дальше и дальше Вас учить чему то новому и каким то не стандартным решениям!

Мои соц.сети:

Мой канал Telegram: https://t.me/sorsha_channel

Мой YouTube: https://www.youtube.com/@Sorsha_go

Мой Tiktok: https://www.tiktok.com/@sorsha_go

Как вам статья?

Топовая партнерка 1xSlots