pimenov.ai

Как мы с Codex оптимизировали Xiaomi TV по Wi‑Fi и вернули ему нормальную жизнь

Как подключить Android TV к компьютеру по Wi‑Fi через ADB, установить приложения, освободить память и отключить PatchWall с возможностью возврата.

ИИПрактикаКейсCodex

В какой-то момент я обнаружил, что почти вся домашняя техника уже стала частью одной управляемой системы. Вместе с Codex мы настроили роутеры, сетевые хранилища, компьютеры и удалённое обслуживание, поэтому многие задачи, ради которых раньше пришлось бы вспоминать команды, искать инструкции и бояться задеть работающую конфигурацию, теперь решаются в спокойном диалоге с проверками на каждом шаге.

Телевизор оставался последним закрытым ящиком. У меня их несколько, и один Xiaomi уже давно раздражал медленной работой: приложения открывались неторопливо, свободное место заканчивалось, а PatchWall постоянно обновлялся и появлялся там, где его никто не ждал. Руки до него не доходили ещё и потому, что было непонятно, с какой стороны вообще подступиться. Телевизор висит на стене, клавиатуры у него нет, системные настройки урезаны, а любая инструкция в интернете легко превращается в набор команд с неизвестными последствиями.

Я решил провести эксперимент на одном устройстве: подключить телевизор к MacBook по домашнему Wi‑Fi, сначала только посмотреть его состояние, затем установить отсутствующее в телевизионном магазине приложение, освободить память и убрать навязчивую оболочку так, чтобы всё можно было вернуть. В итоге телевизор, который воспринимался почти как кандидат на замену, снова работает плавно и по ощущениям стал как новый.

ADB превращает телевизор в обычное Android-устройство

Большинство современных Xiaomi TV работает на Android TV или Google TV. Под привычным экраном с карточками находится обычная Android-система, а значит, у неё есть Android Debug Bridge, или ADB: официальный инструмент, через который компьютер может получать сведения об устройстве, устанавливать приложения, читать журналы и выполнять системные команды.

Google описывает два базовых условия для беспроводного подключения: компьютер и устройство должны находиться в одной Wi‑Fi-сети, а в настройках Android должен быть включён режим разработчика и разрешена отладка. В Android 11 и новее существует штатная беспроводная отладка с сопряжением, но конкретные телевизионные прошивки отличаются. На моём Xiaomi отдельного переключателя Wireless debugging не было: после включения USB debugging телевизор разрешил локальное ADB-подключение по TCP/IP. Это особенность конкретной модели и прошивки, а не универсальное обещание для любого телевизора.

Режим разработчика обычно включается семью нажатиями на номер сборки:

  1. Откройте «Настройки» → «Об устройстве».
  2. Найдите «Сборка» или «Номер сборки» и нажмите на строку семь раз.
  3. Вернитесь в настройки, откройте раздел «Для разработчиков» и включите отладку.
  4. Посмотрите локальный IP-адрес телевизора в разделе состояния сети.

На Mac понадобится adb из официального набора Android SDK Platform Tools. После установки команда подключения выглядит так:

adb connect <IP-телевизора>:5555
adb devices

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

Сначала инвентаризация, потом изменения

Самая полезная часть работы с Codex началась до первой команды на удаление. Я отправлял фотографии экранов, Codex определил модель, версию Android и сборку, помог включить режим разработчика, а после подключения начал с чтения текущего состояния. Мы заранее договорились, что сервер, роутер, приложения и системные пакеты нельзя менять по догадке: сначала факты, затем точный список действий, после него отдельное подтверждение.

ADB создаёт локальный контур управления: MacBook подключается к Android TV через доверенную домашнюю Wi‑Fi-сеть.
ADB создаёт локальный контур управления: MacBook подключается к Android TV через доверенную домашнюю Wi‑Fi-сеть.

Базовая диагностика доступна обычными командами:

adb shell getprop ro.build.version.release
adb shell df -h /data
adb shell pm list packages -3
adb shell dumpsys meminfo
adb shell dumpsys diskstats

Выяснилось, что у телевизора всего около 4,1 ГБ доступного системного хранилища, из которых свободными оставались 128 МБ. Раздел данных был заполнен на 97 процентов. Оперативной памяти оказалось около 2 ГБ, причём Android уже активно использовал сжатый swap. При таком запасе система постоянно решает, какой процесс выгрузить, поэтому медленный интерфейс и внезапно остановившиеся фоновые приложения становятся закономерностью.

Мы составили таблицу пользовательских приложений с реальными размерами, отдельно посмотрели кэши и проверили статистику запуска. Это принципиально важнее случайного списка «ненужных пакетов Xiaomi» из интернета: одинаковое название телевизора ещё не гарантирует одинаковую прошивку, а безобидный на одной модели пакет на другой может отвечать за домашний экран, HDMI или пульт.

Очистка кэша помогает, но не заменяет решение

Первым изменением стала штатная команда Android, которая просит систему освободить доступные временные кэши:

adb shell pm trim-caches 1G

Первый проход действительно дал телевизору немного воздуха, но повторная очистка освободила всего около 12 МБ. Это хороший пример того, почему кнопка «очистить кэш» не превращает старое устройство в новое: часть файлов Android считает активной, часть быстро создаётся снова, а основные сотни мегабайт находятся в самих приложениях и их данных.

Команду pm clear <package> мы сознательно не использовали. Она очищает не только кэш, но и все данные приложения, включая входы в аккаунты и настройки. Снаружи эти две операции выглядят похоже, а результат у них совершенно разный.

Установка приложений без флешки

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

APK нужно брать только из официального источника проекта. Перед установкой полезно проверить контрольную сумму файла, минимальную версию Android и совместимость с архитектурой телевизора. После этого команда выглядит одинаково для любого приложения:

adb install <application.apk>

Если установка завершается ошибкой, не стоит скачивать случайную пересборку с форума. Сначала нужно прочитать точное сообщение ADB, проверить архитектуру APK, доступное место и версию Android. В нашем случае приложение установилось удалённо, а его работу мы подтвердили обычным пользовательским тестом на экране телевизора.

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

Приложения удаляются только после точного выбора

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

adb uninstall <package.name>

Нужно понимать буквальный смысл этой команды: приложение исчезает с телевизора вместе с локальными данными и авторизацией. Позже его можно поставить заново из Google Play или APK, но вход в аккаунт придётся повторить. Поэтому Codex сначала показал человеческие названия, системные идентификаторы и объём каждого кандидата, а удаление началось только после моего явного выбора.

В моём случае были удалены More.tv, VK Видео, МТС ТВ, Rutube, Videomore, два больше не нужных видеоклиента и одна старая сетевая утилита. Остальные сервисы, которыми дома пользуются, остались на месте. После этой операции свободное пространство выросло примерно до 1,2 ГБ, а заполнение раздела данных снизилось с 97 до 70 процентов.

PatchWall можно отключить и вернуть одной командой

Главным раздражителем оставался PatchWall, фирменная оболочка и рекомендательная лента Xiaomi. Удалять её вслепую опасно: на некоторых телевизорах она выполняет роль единственного домашнего экрана. Сначала мы спросили Android, какое приложение назначено системным HOME-launcher:

adb shell cmd package resolve-activity \
  --brief --user 0 \
  -a android.intent.action.MAIN \
  -c android.intent.category.HOME

На моём телевизоре основным домашним экраном оказался стандартный Google TV launcher, а PatchWall работал отдельным пакетом com.mitv.tvhome.atv и регулярно открывался поверх него. Поэтому мы выбрали обратимое отключение:

adb shell pm disable-user --user 0 com.mitv.tvhome.atv
adb shell am force-stop com.mitv.tvhome.atv
adb shell input keyevent KEYCODE_HOME

После команды Android открыл Google TV, а процесс PatchWall исчез из памяти. Для возврата предусмотрена зеркальная команда:

adb shell pm enable --user 0 com.mitv.tvhome.atv

По тому же принципу были отключены связанные ленты PatchWall, Xiaomi Music и два компонента телеметрии. Основной телевизионный сервис, HDMI, Bluetooth, пульт, системный менеджер и обновление прошивки остались нетронутыми. Отключение не удаляет заводской пакет и почти не освобождает постоянное хранилище, зато запрещает компоненту запускаться и позволяет быстро вернуть его при любом побочном эффекте.

Последняя настройка: анимации и полная перезагрузка

После очистки мы уменьшили длительность системных анимаций до половины стандартного значения:

adb shell settings put global window_animation_scale 0.5
adb shell settings put global transition_animation_scale 0.5
adb shell settings put global animator_duration_scale 0.5
adb reboot

Анимации 0.5× не ускоряют процессор, но делают интерфейс субъективно отзывчивее. Полная перезагрузка после удаления приложений дала более измеримый результат: доступная память выросла примерно с 587 до 821 МБ, а занятый swap уменьшился с 336 до 16 МБ. Значения RAM в Android постоянно меняются, поэтому их не стоит воспринимать как лабораторный тест, однако направление изменений совпало с тем, что стало видно без всяких приборов: меню и приложения начали реагировать заметно быстрее.

Мы специально не включали «Не сохранять действия», не задавали жёсткий лимит фоновых процессов, не отключали аппаратные видеофункции и не устанавливали «ускорители памяти». Такие советы часто освобождают несколько цифр в диагностике ценой сломанного воспроизведения или постоянно выгружаемых приложений.

Безопасная оптимизация Android TV: от доверенного ADB-подключения и диагностики до обратимых изменений и проверки после перезагрузки.
Безопасная оптимизация Android TV: от доверенного ADB-подключения и диагностики до обратимых изменений и проверки после перезагрузки.

Как повторить и не превратить телевизор в кирпич

Рабочая последовательность выглядит так:

  1. Определите точную модель, версию Android и текущий HOME-launcher.
  2. Включите режим разработчика и отладку, подключайтесь только из доверенной локальной сети.
  3. Снимите показатели хранилища, RAM и список пользовательских приложений.
  4. Начните со штатной очистки кэша и сразу измерьте эффект.
  5. Устанавливайте APK только из официального источника, проверяя архитектуру, версию Android и контрольную сумму.
  6. Удаляйте приложение только после сопоставления человеческого названия с точным package ID.
  7. Системные оболочки сначала отключайте через disable-user, сохраняя команду возврата.
  8. После перезагрузки проверяйте домашний экран, HDMI, пульт, звук, сеть и нужные приложения.
  9. Когда обслуживание закончено, выключите отладку или хотя бы не оставляйте ADB доступным за пределами доверенной сети.

Если какая-то команда из этой статьи не возвращает ожидаемый результат, остановитесь. У телевизоров Xiaomi много региональных прошивок и аппаратных ревизий, поэтому package ID и поведение ADB могут различаться. Безопасная работа начинается с чтения текущего состояния, а не с копирования максимального списка пакетов для удаления.

Бытовая техника становится частью рабочего пространства

Для меня эта история оказалась больше, чем настройкой ещё одного экрана. Codex уже помогает управлять домашними роутерами, компьютерами и хранилищами, но телевизор особенно хорошо показывает переход от «ИИ отвечает на вопросы» к настоящему техническому ассистенту. Я описывал проблему обычными словами, показывал фотографии и принимал решения, а агент искал точный системный слой, выполнял команды, сравнивал состояние до и после и останавливался там, где требовалось моё подтверждение.

Раньше телевизор тормозил, PatchWall постоянно лез на экран, а идея разбираться в пакетах Android всё время откладывалась. Теперь устройство снова работает быстро, запускает нужные приложения и показывает тот домашний экран, который выбрал я. Никакой магии здесь нет: есть официальный интерфейс управления, аккуратная диагностика, обратимые действия и помощник, который способен удержать весь процесс целиком.

Источники

Следующий шаг

Как один музыкальный архив превратился в домашнюю медиасистему

Связанные материалы

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

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov