Đến nội dung chính
Phạm Nam

Tìm kiếm

Nhập từ khoá để tìm trong các bài viết.

Quay lại

Hồi sinh tivi chậm lag bằng AI

Hướng dẫn dùng repo cobanov/tv để dọn Android TV qua ADB bằng prompt AI: bật USB debugging, kết nối, duyệt package và khôi phục. Không root, không uninstall.

8 phút đọc—

Chiếc tivi Android sau vài năm thường rơi vào cùng một trạng thái: mở lên là một rừng quảng cáo và gợi ý, remote bấm mãi mới phản hồi, còn danh sách ứng dụng đầy những thứ chưa từng mở. Cách sửa quen thuộc là root, mở bootloader hoặc cài custom ROM. Cả ba đều có thể factory reset tivi, và nếu chứng chỉ Widevine rơi từ L1 xuống L3 thì Netflix có thể chỉ còn SD.

Với phần lớn nhu cầu, không cần đi xa như vậy. Repo cobanov/tv chọn một hướng khác: dùng ADB và một prompt viết sẵn để nhờ AI agent tắt những gói ứng dụng không dùng, thay launcher, đo lại RAM — không root, không gỡ cài đặt, mọi thay đổi đều có thể hoàn tác.

Bài này là bản hướng dẫn tiếng Việt để bạn dùng repo đó: cần chuẩn bị gì, chạy prompt ra sao, kiểm tra những gì và khôi phục thế nào nếu có chuyện không ổn.

Ảnh bìa Clean up your Android TV của repo cobanov/tv
Repo cobanov/tv đóng gói hướng dẫn và prompt vào một trang tĩnh. Ảnh: repo cobanov/tv.

Repo này là gì?

cobanov/tv là một trang hướng dẫn một trang, hiện có 10 ngôn ngữ, kèm một prompt dài để đưa cho Claude Code, Codex hoặc một AI agent có quyền chạy lệnh trên máy tính. Trang được build tĩnh và phát hành trên Cloudflare Pages; bản công khai ở tv.cobanov.dev.

Điểm đáng chú ý không nằm ở giao diện. Toàn bộ giá trị nằm ở cách prompt buộc agent làm việc có kỷ luật:

  • chỉ dùng pm disable-user --user 0, không bao giờ pm uninstall;
  • sao lưu danh sách package, cấu hình và dumpsys meminfo trước khi đổi bất cứ thứ gì;
  • tạo script khôi phục ngay từ đầu và ghi lại từng package đã tắt;
  • tắt theo từng đợt nhỏ, kiểm tra lại bằng ảnh chụp màn hình;
  • đo RAM trước và sau, rồi để người dùng quyết định những phần phụ thuộc sở thích.

Nếu chỉ muốn đọc mã nguồn, repo còn có index.template.html, assets/site.css, các file i18n/*.json, prompts/*.txt và build.py. Nhưng để dùng, bạn không cần clone repo: mở trang, copy prompt và làm theo bốn bước.

Vì sao không cần root?

Android có sẵn cơ chế tắt ứng dụng ở cấp người dùng:

adb shell pm disable-user --user 0 <package>

Lệnh này không xóa APK. Ứng dụng chỉ không còn chạy với người dùng hiện tại, và có thể bật lại bằng:

adb shell pm enable <package>

Vì vậy mọi thay đổi đều là thay đổi trạng thái, không phải phá hủy. Root hoặc custom ROM không cần thiết cho mục tiêu giảm quảng cáo, tắt app thừa và đổi launcher. Đổi lại, bạn vẫn phải chấp nhận rủi ro: tắt nhầm một package hệ thống có thể làm mất HDMI, Wi-Fi, remote hoặc khiến tivi không boot lên được. Prompt có các lớp bảo vệ, nhưng người duyệt cuối cùng vẫn là bạn.

Cảnh báo: Chỉ làm theo hướng dẫn này khi bạn có thể khôi phục tivi bằng ADB hoặc factory reset khi cần. Nếu tivi còn bảo hành, kiểm tra điều kiện của hãng trước.

Cần chuẩn bị gì?

  • Tivi Android TV hoặc Google TV còn hoạt động, có điều khiển.
  • Máy tính chạy Windows, macOS hoặc Linux, cài được ADB.
  • Tivi và máy tính cùng một mạng Wi-Fi/router.
  • Một AI agent có thể chạy lệnh terminal, ví dụ Claude Code hoặc Codex.
  • Thời gian để đọc danh sách package và kiểm tra lại từng đợt.

Bạn không cần cài sẵn ADB. Prompt sẽ kiểm tra và cài ADB theo hệ điều hành, nhưng bạn cần đồng ý cho agent chạy lệnh trên máy.

Bốn bước trên trang

1. Bật Developer options

Trên tivi, vào Settings → System → About, tìm dòng Build và bấm nút OK trên remote bảy lần. Tùy hãng, đường dẫn có thể nằm dưới System → About → Build hoặc Device Preferences → About.

2. Bật USB debugging

Vào Settings → System → Developer options → USB debugging. Nếu có mục Wireless debugging riêng, bật luôn. Một số tivi dùng tên khác như ADB debugging hoặc Debug over network.

3. Lấy địa chỉ IP

Vào Settings → Network & internet → Status và ghi lại địa chỉ bắt đầu bằng 192.168. (hoặc dải mạng tương ứng). Máy tính phải ở cùng mạng với tivi.

4. Copy prompt và điền thông tin

Mở tv.cobanov.dev, copy phần prompt, thay hai chỗ còn trống bằng model tivi và IP:

MY TV
- Make / model: TCL Smart TV Pro
- TV's IP address: 192.168.1.42

Sau đó dán prompt vào Claude Code hoặc Codex. Prompt gốc bằng tiếng Anh; nếu muốn agent trả lời bằng tiếng Việt, thêm một câu ngay đầu prompt:

Please explain every step in Vietnamese, but keep commands and package names unchanged.

Agent sẽ tự cài ADB, kết nối tới tivi, yêu cầu bạn bấm Allow debugging trên màn hình tivi nếu xuất hiện, rồi bắt đầu đo và phân loại package.

Prompt sẽ làm gì?

Một lượt chạy đúng theo prompt sẽ đi qua các bước:

  1. Kiểm tra ADB trên máy tính và cài nếu thiếu.
  2. Kết nối tới IP:5555, xử lý trường hợp Android 11+ yêu cầu mã pairing.
  3. Tạo thư mục tv-debloat, lưu danh sách package, getprop, các bảng settings và dumpsys meminfo.
  4. Phân loại package thành các nhóm: telemetry/quảng cáo, dịch vụ gợi ý nội dung, dịch vụ nền, app cài sẵn, app phụ thuộc sở thích và nhóm không được đụng.
  5. Cho bạn xem bảng trước khi tắt. Bạn duyệt nhóm nào, agent mới tắt nhóm đó.
  6. Giảm tốc độ animation, dọn cache, reboot và kiểm tra lại bằng ảnh chụp màn hình.
  7. Đo RAM lần hai và đưa bảng so sánh trước/sau, kèm danh sách package và script khôi phục.

Đây là điểm mình thích nhất ở repo: nó không bán cho bạn một danh sách package “chuẩn”. Nó bắt agent đo, phân loại và chờ bạn duyệt, vì cùng một tên package có thể làm việc khác nhau trên từng model.

Đừng duyệt danh sách mà không đọc

Prompt chia package thành nhiều nhóm, nhưng bạn vẫn nên kiểm tra. Với package không rõ chức năng, có thể hỏi agent:

adb shell dumpsys package <package>

Lệnh này cho thấy activity, service, permission và cách package được dùng. Nếu vẫn không rõ, đừng tắt.

Những thứ không nên tắt, bất kể hãng:

  • ứng dụng TV và các input service cho HDMI/antenna;
  • menu Inputs/Source trên remote;
  • dịch vụ remote, Bluetooth và pairing;
  • bàn phím trên màn hình (*.inputmethod.*);
  • Play Store, Play Services và Google Services Framework;
  • com.android.location.fused — tắt sai có thể gây boot loop;
  • launcher hiện tại, cho đến khi đã cài và đặt launcher mới làm mặc định.

Trên TCL có vài cái bẫy đã được ghi trong prompt:

  • com.tcl.suspension nghe như app rác nhưng là menu chọn nguồn; tắt đi có thể mất nút Inputs/HDMI.
  • com.tcl.ttvs nghe như text-to-speech nhưng là dịch vụ cập nhật hệ thống.
  • com.tcl.tv, com.tcl.tvinput là dịch vụ HDMI/antenna.
  • com.tcl.providers.config, com.tcl.initsetup có thể làm mất Wi-Fi.
  • com.google.android.tv.remote.service, com.tcl.tcl_bt_rcu_service, com.tcl.autopair liên quan remote.

Mẹo: Yêu cầu agent tắt tối đa 10 package mỗi đợt và kiểm tra HDMI, remote, Wi-Fi, Netflix, YouTube sau mỗi đợt. Nếu có vấn đề, bật lại đợt vừa rồi trước khi tìm tiếp.

Đổi launcher: làm đúng thứ tự

Launcher mặc định của Google TV/Android TV thường là nơi chứa ad row và recommendation. Repo gợi ý dùng FLauncher — launcher miễn phí, mã nguồn mở, chỉ hiển thị lưới ứng dụng.

Thứ tự an toàn:

  1. Cài FLauncher từ Play Store.
  2. Mở FLauncher và đặt làm launcher mặc định.
  3. Kiểm tra lại sau khi reboot.
  4. Chỉ sau đó mới tắt launcher cũ, ví dụ com.google.android.apps.tv.launcherx trên Google TV hoặc com.google.android.tvlauncher trên Android TV.

Trên Google TV, setup wizard có thể giành lại home screen sau reboot. Prompt có nhắc kiểm tra và xử lý com.google.android.tungsten.setupwraith nếu cần. Đừng tắt launcher cũ trước khi launcher mới chạy ổn: màn hình đen là kết quả dễ đoán.

Khi xong: kiểm tra và khôi phục

Sau khi agent báo hoàn tất, đừng chỉ nhìn bảng RAM. Hãy tự kiểm tra:

  • HDMI còn chuyển nguồn được không?
  • Remote và Bluetooth còn hoạt động không?
  • Wi-Fi có tự kết nối lại sau reboot không?
  • Netflix, YouTube và ứng dụng bạn dùng hằng ngày còn mở được không?
  • Play Store còn cài ứng dụng được không?
  • Có package nào bị tắt mà bạn không biết rõ không?

Nếu một ứng dụng cần dùng lại:

adb shell pm enable <package>

Nếu agent đã tạo restore.sh, chạy script đó để bật lại toàn bộ. Prompt cũng yêu cầu một file disabled.txt và DEBLOAT-LOG.md để bạn biết chính xác đã tắt gì và hoàn tác bằng lệnh nào.

Cuối cùng, tắt USB debugging trên tivi. Một số model cắt điện cổng USB khi debugging bật, nên nếu loa hoặc ổ cứng USB đột nhiên không chạy, đây là lý do đầu tiên cần kiểm tra.

Repo có 10 ngôn ngữ, nhưng chưa có tiếng Việt

Trang hỗ trợ tiếng Anh, Trung, Nhật, Ả Rập, Pháp, Đức, Ý, Nga, Tây Ban Nha và Thổ Nhĩ Kỳ. Các ảnh OG bên dưới là cùng một template, được dịch và căn chỉnh riêng cho từng ngôn ngữ; bản tiếng Ả Rập còn đảo chiều layout.

Ảnh OG tiếng Nhật của trang Clean up your Android TV
Một template, nhiều ngôn ngữ. Ảnh: repo cobanov/tv.
Ảnh OG tiếng Ả Rập của trang Clean up your Android TV
Bản tiếng Ả Rập dùng layout RTL. Ảnh: repo cobanov/tv.

Nếu muốn tự dựng trang từ source, repo có build.py và build.sh:

git clone https://github.com/cobanov/tv.git
cd tv
./build.sh
cd public && python3 -m http.server 8899

Nhưng để dọn tivi, cách nhanh nhất vẫn là dùng prompt trên trang công khai. Không cần clone, không cần deploy.

Ai nên dùng, ai nên bỏ qua?

Cách này hợp với người:

  • dùng Android TV/Google TV và thấy máy chậm, nhiều quảng cáo;
  • sẵn sàng đọc danh sách package và kiểm tra lại;
  • muốn thay đổi có thể hoàn tác, không muốn root;
  • chấp nhận rằng AI có thể sai và mình là người duyệt cuối.

Không phù hợp nếu bạn:

  • không muốn động vào package hệ thống;
  • có tivi đang lỗi phần cứng hoặc còn bảo hành;
  • cần một danh sách chung áp dụng cho mọi model;
  • muốn kết quả chắc chắn 100% mà không kiểm tra.

Repo này không phải phép màu. Nó là một quy trình có kỷ luật: đo trước, tắt sau, kiểm tra, ghi lại và có đường lùi. Phần “AI” chỉ giúp thực hiện các bước nhanh hơn; quyết định vẫn nằm ở bạn.

Kết

Nếu tivi đã chậm và bạn chưa muốn thay máy, đây là một cách đáng thử trước khi nghĩ đến root hay custom ROM. Hãy bắt đầu bằng việc đọc trang hướng dẫn, chuẩn bị một bản backup và chạy thử trên một nhóm package nhỏ.

Ảnh trong bài lấy từ repo cobanov/tv và được dùng để minh họa.


Bài viết liên quan

Bình luận

Bình luận được duyệt trước khi hiển thị.

Đang tải bình luận…

Để lại bình luận