
ATV_Script [by cartmenezz_4pda.ru]
==================================

Домашняя страница:
https://4pda.to/forum/index.php?showtopic=1035680

Системные требования:
* Windows 7/8/8.1/10/11 (x86/x64)
* Microsoft Visual C++ Redistributable 2022 (x86)
  - требуется для функции поиска устройств в локальной сети
  - в скрипт интегрирован портативный комплект, так что скорее всего установка не потребуется
  - если что, свежие версии здесь:
    https://learn.microsoft.com/ru-ru/cpp/windows/latest-supported-vc-redist

Краткое описание:
По сути скрипт является оболочкой для консольной утиллиты ADB (Android Debug Bridge).
Совместим с любыми android-устройствами, поддерживающими отладку через ADB.
Изначально создавался для очитки Android TV (и Google TV) от "ненужных" пользователю предустановленных приложений.
Но постепенно оброс дополнительным функционалом.

Основные возможности:
* Установка APK и SPLIT-APK
* Заготовки для быстрого удаления наиболее распространенных предустановленных Android TV приложений
* Есть доп. шаблоны (заготовки) для TCL/iFFALCON, Philips TV, Mi Box, Mi TV Stick, Mi TV
  Например: * Отключение автообновлений для TCL
            * Удаление рекомендаций на странице приложений для Mi Box / Mi TV Stick
            * Пункты для удаления (с возможностью восстановления) различных системных приложений
* Возможность работы с приложениями в ручном режиме: Удаление, Восстановление, Заморозка, Разморозка
* Можно вводить имя пакета самому, а можно получить список с устройства и выбрать
* Мультивыбор - ввод сразу нескольких номеров (для выбора пунктов основного меню или выбора пакетов из списка)
* Выбор файла со своим списком пакетов (для удаления или заморозки)
* Поиск совместимых устройств в локальной сети
* Снятие скриншотов и запись видео с экрана устройства
* Файловый менеджер (обзор каталогов и файлов на устройстве, копирование файлов между устройством и ПК)
* Эмулятор пульта управления (навигация по устройству, вставка текста, регулировка громкости)
* Проверка связи с устройством перед выполнением пунктов - в случае проблем будет выведено соответствующее сообщение
* Информативные подсказки (для помощи в установке связи ПК и android-устройства)

Примечания:
* Присутствие в скрипте тех или иных пунктов - не является рекомендацией к их применению
* Скрипт делал прежде всего для себя, и добавлял в него то, что в тот или иной момент было полезно и экономило время

===============================================================================

Блок "ОСНОВНОЕ_МЕНЮ"
01 Подключение          - Подключение по IP-адресу (есть поиск), по USB-кабелю, а так же новая функция "Беспроводная отладка"
02 Проверка подключения - Проверка статуса подключения, вывод имени устройства и версии андроид
03 Удаление прог        - Удаление приложений (ручной ввод имени пакета / или выбор из списка / или загрузка своего списка)
04 Пере/установка прог  - Установка приложений + Восстановление удаленных системных приложений (ручной ввод имени пакета / или выбор из списка)
05 Заморозка прог       - Заморозка/Отключение приложений (ручной ввод имени пакета / или выбор из списка)
06 Разморозка прог      - Разморозка/Включение приложений (ручной ввод имени пакета / или выбор из списка / или загрузка своего списка)
07 Файловый менеджер    - Просмотр каталогов, удаление или копирование на ПК файлов/каталогов + копирование на устр-во файлов/каталогов
08 Захват экрана        - Снятие скриншота и запись видео с экрана устройства
09 Перезагрузка         - Перезагрузка подключенного устройства (обычная - в систему) 
10 Дополнительно        - Здесь собраны пункты, которым не нашлось места на главной странице

Блоки "TCL/iFFALCON_...", "PHILIPS_...", "XIAOMI_MIBOX/TVSTICK/MITV_..."
* Пункты с действиями для конкретных устройств
  например: отключение автообновлений для TCL, удаление рекомендаций приложений для Mi Box / Mi TV Stick, и т.п..
* Отображаются в основном меню, только при выборе соответствующего варианта на стартовой странице

Блок "УДАЛЕНИЕ_ПРОГРАММ"
* Удаление одноименных приложений
* И их восстановление (нужно добавить букву "z" к номеру пункта, например "21z")

Поле "ВВОД"
* Сюда введите номер нужного пункта (или пунктов), нажмите Enter для выполнения
* Пункты из блока "ОСНОВНОЕ_МЕНЮ" выполняются по отдельности - вводить по одному
* Пункты из других блоков можно вводить группой (сразу несколько), через пробел или запятую
  Можно вводить дапазон пунктов (через дефис, без пробелов), Пример: 22-25
  Можно сочетать номера пунктов с диапазонами, Пример: 22 26 28-35 37

===============================================================================

Сначала нужно включить на устройстве "Отладку"

На ТВ и ТВ-приставках примерный алгоритм такой:
1. Настройки Android >> Система >> Об устройстве
2. Найдите внизу пункт "Сборка"
3. Нажмите на него 7 раз, до появления надписи "Вы стали разработчиком"
4. Настройки Android >> Система >> { } Для разработчиков
5. Найдите пункт "Отладка по USB", включите
*  Возможно понадобится перезагрузка устройства (обычно не требуется)
*  Названия некоторых пунктов могут отличаться на разных устройствах

На смартфонах и планшетах очень много вариаций
* Лучше всего поискать инструкцию под конкретную модель устройства
* На современных смартфонах/планшетах, как правило закрыт порт 5555
  Поэтому, даже включив "Отладку по USB", обычно вы не сможете подключиться по IP-адресу, только по кабелю
  Но, начиная с Android 11, в Меню для разработчиков появился пункт "Беспроводная отладка" (или "Отладка по Wi-Fi").
  По сути, это тоже самое, только там выдается рандомный порт для подключения, который периодически меняется
  Данный функционал поддерживается в скрипте

===============================================================================

Использование скрипта с ТВ или ТВ-боксом:

0. Распакуйте скрипт из архива
1. Узнайте IP-адрес устройства:
   а) Настройки Android >> Сеть и интернет >> Доступные сети: найдите свою сеть, зайдите, посмотрите IP
   б) Настройки Android >> Об устройстве >> Статус (Сеть, серийные номера и другие сведения)
2. Запустите скрипт, выберите язык, выберите один из шаблонов
3. Зайдите в меню Подключение (пункт 01)
4. Подключитесь к устройству по IP:
 * Введите IP-адрес устройства (подпункт 1 или 2)
 * Или можно выполнить поиск устройств в локальной сети (подпункт 3)
 * В случае каких-либо проблем скрипт выдаст сообщение об ошибке с рекомендациями по их решению.
5. При первом подключении на экране устройства всплывет окно "Отладка по USB", 
   отметьте "Всегда разрешать отладку с этого компьютера" и дайте разрешение
6. Выполните нужные пункты
7. По окончании работы со скриптом "Отладку по USB" можно отключить
   На некоторых устройствах, при включенной отладке, может не работать USB-порт

Примечания:
* В зависимости от устройства, названия некоторых пунктов настроек могут отличаться
* Можно ввести сразу несколько номеров (через пробел или запятую), эти пункты будут выполнены один за другим
  Кроме пунктов из блока "ОСНОВНОЕ_МЕНЮ", они требуют ручных манипуляций, их нужно выполнять по отдельности
* В конце рекомендуется выполнить перезагрузку устройства - пункт "09 Перезагрузка" 
  (можно его сразу вписать в конец списка, но лучше выждать минутку после чистки)
* Если на главном экране остались каналы от удаленных приложений:
  встаньте на нужный канал, нажмите несколько раз "Влево", пока не окажетесь левее иконки приложения >> "Удалить"
* Или можно еще до очистки зайти в "Настроить каналы" и поотключать все что там есть
* Очень и очень редко можно словить такой глюк:
  вы убираете каналы от удаленных приложений, но спустя время, или после перезагрузки, они вновь появляются,
  в таком случае можно воспользоваться способом "Полная очистка каналов приложений на главном экране", инструкция внизу

===============================================================================

Использование скрипта с смартфоном или планшетом:

0. Распакуйте скрипт из архива
1. Запустите скрипт, выберите язык, выберите один из шаблонов
2. Зайдите в меню Подключение (пункт 01)
3. Подключитесь к устройству:
   а) по USB-кабелю (подпункт 8):
      - Включите на устройстве "Отладку по USB", если еще не включили
      - Соедините ПК и устройство кабелем
      - Выполните подпункт 8
      - При первом подключении на экране устройства всплывет запрос разрешения на Отладку, 
        отметьте "Всегда разрешать отладку с этого компьютера" и дайте разрешение
      - Могут понадобиться драйверы, взять можно здесь:
        https://4pda.to/forum/index.php?showtopic=383300
   б) по IP-адресу (подпункт 5 или 7, только для Android 11 и выше):
      * В первый раз нужно выполнить сопряжение:
        - Настройки Android >> Система (или Расширенные настройки) >> Для разработчиков
        - Найдите пункт "Беспроводная отладка" (или "Отладка по Wi-Fi"), зайдите, включите
          Откроется окно "Разрешить отладку по Wi-Fi в этой сети?"
        - Отметьте пункт "Всегда разрешать отладку в этой сети" и дайте разрешение
        - Найдите пункт "Подключить устройство с помощью кода подключения", нажмите
          Откроется окно, в котором будут все необходимые параметры: Код, IP-Адрес и Порт
        - Введите эти параметры в скрипте (подпункт 5 или 7)
      * Теперь можно подключиться:
        - На странице "Беспроводная отладка" будут указаны IP и Порт для подключения
        - В скрипте выполните подпункт 4 или 6
4. Выполните нужные пункты
5. По окончании работы со скриптом "Отладку по USB" можно отключить
   На некоторых устройствах, при включенной отладке, может не работать USB-порт

Примечания:
* В зависимости от устройства, названия некоторых пунктов настроек могут отличаться
* Можно ввести сразу несколько номеров (через пробел или запятую), эти пункты будут выполнены один за другим
  Кроме пунктов из блока "ОСНОВНОЕ_МЕНЮ", они требуют ручных манипуляций, их нужно выполнять по отдельности
* В конце рекомендуется выполнить перезагрузку устройства - пункт "09 Перезагрузка" 
  (можно его сразу вписать в конец списка, но лучше выждать минутку после чистки)
* Беспроводная отладка отключается при отключении Wi-Fi, а порт для отладки периодически меняется
  - Поэтому, чтобы упростить дальнейшее использование, можно открыть на устройстве порт 5555 (подпункт 9)
    После этого можно будет подключаться, вводя только IP-адрес устройства,
    а так же можно будет пользоваться поиском устройств в локальной сети (подпункт 3)
  - Чтобы не лазить в настройки для включения Беспроводной отладки, можно включить Отладку по USB
    Для работы через порт 5555 подойдет и Отладка по USB и Беспроводная отладка

===============================================================================

Как устанавливать приложения:

1. Подключитесь к устройству
2. Зайдите в пункт "04 Пере/установка прог"
3. Если нужно установить цельный APK, то выберите 1й подпункт
   * можно выбрать сразу несколько файлов
4. Если нужно установить Split APK, то выберите 2й подпункт
   * split должен быть предварительно распакован, выберите нужные части

===============================================================================

Как удалить/восстановить/заморозить/разморозить приложение, для которого нет пункта меню:

1. Подключитесь к устройству
2. В зависимости от того что вам нужно, выберите соответствующий пункт из раздела "ОСНОВНОЕ_МЕНЮ:
   "03 Удаление прог" / "04 Пере/установка прог" / "05 Заморозка прог" / "06 Разморозка прог"
3. В них есть подпункты: "Ввод имени пакета вручную" или "Выбор из списка" или "Свой список пакетов из файла"
 * При выборе из списка можно вводить сразу несколько номеров (через пробел или запятую)
   Можно вводить диапазон номеров (через дефис, без пробелов), Пример: 23-28
   Можно сочетать одиночные номера с диапазонами, Пример: 15 22 35-41 66
   Чтобы быстрее найти номера пакетов, можно пользоваться поиском (комбинация клавиш: Ctrl+F)
 * Ввод имени "пакета" - adb не знает что такое "TCL Медиацентр" ему нужен "com.tcl.ui_mediaCenter"
 * Узнать имя пакета приложения можно так:
   - Настройки Android >> Приложения >> Все приложения
   - Если оно системное >> внизу - "Показывать системные приложения"
   - Найдите нужное приложение, нажмите "OK" - откроется вкладка с информацией, вверху указаны версия и имя пакета

===============================================================================

Создание и использование своего списка пакетов:

1. Создайте обычный текстовый файл (поддерживаемые расширения: txt, cfg, ini)
2. Впишите имена пакетов: одна строка = одно имя (без пробелов, знаков припинания,.. ничего лишнего!)
3. Можно добавить для себя строки с комментариями, для этого в начале строки поставьте ";" (точку с запятой, без кавычек)
   * все что написано в строке после ";" будет проигнорировано скриптом
   * так же можно использовать символы "#" (решетка) и "/" (слэш)

* Список можно использовать в пунктах:
  "03 Удаление прог", "04 Пере/установка прог", "05 Заморозка прог", "06 Разморозка прог"
  для этого просто выберите подпункт "ЗАГРУЗИТЬ СПИСОК ПАКЕТОВ ИЗ ТЕКСТОВОГО ФАЙЛА"
* Функция совместима с пресетами от программы "ADB AppControl",
  там аналогичный синтаксис файла (вертикальный список пакетов, символ комментария "#")

===============================================================================

Полная очистка каналов приложений на главном экране Androd TV:

* если не получается убрать каналы от удаленных приложений (вы их убираете, но позже они снова появляются)
* это очень редкий глюк, причина появления неизвестна (очень и очень и очень редкий)
* на некоторых устройствах данный способ может не сработать
* на Google TV не проверялось

Способ 1:
1. Настройки Android >> Приложения >> Все приложения >> Показывать системные приложения
2. Найдите "TV Storage" (имя пакета: com.android.providers.tv), зайдите
3. Нажмите "Остановить", нажмите "Удалить данные"
4. Там же в системных приложениях, найдите "Android TV Home" (имя пакета: com.google.android.tvlauncher), зайдите
5. Нажмите "Остановить"
* Лаунчер перезагрузится, все каналы приложений на Главном экране пропадут
  по началу вы даже не сможете их добавить - если зайти в "Настроить каналы", там будет пусто,
  но не переживайте, постепенно там отобразятся установленные приложения, просто пользуйтесь как обычно
* вместо пунктов 4-5 можно выполнить перезагрузку (возможно даже лучше):
  - Настройки Android >> Об устройстве >> Перезагрузить
  - Или в ATV_Script пункт "09 Перезагрузка"

Способ 2:
1. Откройте ATV_Script, подключитесь к ТВ
2. Откройте консоль для ручного ввода команд: "10 дополнительно" - "1 Терминал ADB"
3. Поочередно копируйте и вставляйте в консоль команды:
adb shell am force-stop com.android.providers.tv
adb shell pm clear com.android.providers.tv
adb reboot
* чтобы вставить текст в командную строку, просто нажимаем правую кнопку мыши (в Win10 можно [Ctrl+V])
4. Для выхода из консоли введите: exit (или просто закройте окно скрипта)

===============================================================================

Файловый менеджер (копирование/удаление файлов и каталогов):

* Список ограничений:
  - Нельзя : войти в каталог, в имени которого есть символ апострофа (')
  - Нельзя : удалить файл/каталог, в имени которого есть символ апострофа (')
  - Можно  : скопировать файл/каталог, в имени которого есть символ апострофа (')
* В основном меню - пункт "07 Файловый менеджер"
* Если нужно удалить файл/каталог на устройстве - выберите подпункт "1"
* Если нужно скопировать файл/каталог с устройства на ПК - тоже выберите подпункт "1"
  - Для перемещения в каталог, введите его номер
  - Для возврата на один уровень вверх - введите "0"
  - В заголовке окна будет отображаться полный путь до текущего каталога/файла
  - Чтобы удалить текущий каталог/файл - введите "-", для подтверждения действия - введите "Y" (можно "y")
  - Чтобы скопировать текущий каталог/файл на ПК (на Рабочий стол) - введите "+"
  - Проверяйте себя с помощью заголовка окна - все действия будут выполнятся над тем, что в заголовке
  - Чтобы закрыть файловый менеджер - введите "x", или "X" (буква "ИКС" на латинице, или "ХЭ" на русском)
* Если нужно скопировать файл/каталог с ПК на устройство - выберите подпункт "2" или "3"
  - Будет открыто окно проводника
  - При копировании файлов можно выбрать сразу несколько
  - Копирование производится в каталог "Download" (Загрузки)

===============================================================================

Захват экрана (снятие скриншота и запись видео):

* В основном меню - пункт "08 Захват экрана"
* Файлы (скриншот/видеозапись) копируются и сохраняются на рабочий стол
* В имя файла прописываются текущие дата и время (на момент создания скрина и начала записи видео)
  формат имени: "Screenshot_ГГГГММДД-ччммсс" и "Screenrecord_ГГГГММДД-ччммсс"
* Из-за ограничений андроида максимальная длина видеозаписи = 180 секунд
* Если нужно остановить запись раньше, просто нажмите любую клавишу
* Запись экрана с помощью adb имеет переменную частоту (если на экране не было движения, то и кадры не пишутся)
  - С одной стороны это плюс (маленький размер файла), с другой - минус (не все плееры нормально воспроизводят)
  - Поэтому было принято решение пережимать видео с постоянной частотой кадров (30fps)
  - Размер файла при этом увеличивается, но и "универсальность" возрастает
  - Пережатие видео осуществляется с помощью ffmpeg (пресет Fast)
  - Так же можно выбрать вариант без последующего пережатия


===============================================================================

 -= DONATE =-

 ЮMoney: https://yoomoney.ru/to/410011090804043


