English · 简体中文 · 正體中文 · Tiếng Việt · 日本語 · Italiano · Nederlands
Trang dự án · Câu lệnh cho trợ lý · Danh sách TV · Dự án cộng đồng
# CleanYourTV: hướng dẫn tiếng Việt Kết nối với Android TV hoặc Google TV qua mạng Wi-Fi trong nhà, tắt các ứng dụng cài sẵn, quảng cáo và dịch vụ thu thập dữ liệu mà bạn không cần, rồi cài một màn hình chính (launcher) gọn gàng trên những TV hỗ trợ. Không cần root, không cần cài lại firmware, không cần cáp USB. Các ứng dụng hệ thống chỉ bị **tắt**, không bị gỡ, và luôn có script để khôi phục. Tài liệu này giới thiệu các tính năng chung và cách dùng. Mỗi dòng TV, mỗi khu vực và mỗi bản firmware có danh sách ứng dụng và giới hạn riêng, nên hãy đối chiếu với TV của bạn trước. Khi có thay đổi, [README tiếng Anh](README.md) là bản chuẩn; ghi chú cho từng dòng TV nằm trong [danh sách TV](examples/README.md). **TV Samsung, LG, Roku hoặc TV không chạy Android khác?** CleanYourTV không chạy được trên đó, nhưng bạn vẫn có thể tắt tính năng theo dõi, từng bước bằng điều khiển: [cleanyour.tv/not-android](https://cleanyour.tv/not-android)  ## Cách hoạt động Bật USB debugging (gỡ lỗi USB) trong tuỳ chọn nhà phát triển của TV, cho phép máy tính kết nối ADB qua mạng một lần, rồi làm ba bước: 1. **Sao lưu** danh sách ứng dụng đã cài và các cài đặt liên quan. Nếu dùng [câu lệnh cho trợ lý](PROMPT.md), trợ lý sẽ lưu một bản sao lưu đầy đủ trước; nếu tự chạy `tools/disable.sh`, công cụ chỉ ghi lại những gì cần để khôi phục đúng danh sách đó. 2. **Tắt** các dịch vụ thu thập dữ liệu, quảng cáo, hàng gợi ý nội dung và ứng dụng cài sẵn bạn không dùng, bằng `pm disable-user`. 3. **Cài launcher gọn gàng** và đặt nó làm màn hình chính (HOME) mặc định. Mỗi hãng cần giữ lại những thành phần hệ thống khác nhau. [Câu lệnh cho trợ lý](PROMPT.md) sẽ hướng dẫn trợ lý lập trình kiểm tra TV thật trước, rồi hỏi bạn đang dùng những ứng dụng và tính năng nào. ## Bắt đầu nhanh Bạn cần một máy tính nối cùng mạng với TV và một trợ lý lập trình chạy được lệnh terminal, ví dụ [Claude Code](https://claude.com/product/claude-code), [Codex](https://github.com/openai/codex) hoặc [Gemini CLI](https://github.com/google-gemini/gemini-cli). | Bước | Làm gì | |---|---| | 1. Trên TV | Vào **Cài đặt → Hệ thống (hoặc Tuỳ chọn thiết bị) → Giới thiệu**, bấm OK bảy lần vào mục **Bản dựng / Build**, quay lại mở **Tuỳ chọn nhà phát triển** và bật **USB debugging**. Nếu có thêm công tắc gỡ lỗi mạng / ADB thì bật luôn. Tên menu khác nhau tuỳ máy. | | 2. Trên máy tính | Sao chép kho lưu trữ và mở thư mục đó trong trợ lý (`git clone https://github.com/Gathin23/cleanyourtv`), rồi dán nội dung [`PROMPT.md`](PROMPT.md) cho trợ lý và điền model TV của bạn. | | 3. Trả lời trợ lý | Bấm **Allow** khi TV hỏi cho phép gỡ lỗi, rồi cho trợ lý biết bạn hay dùng ứng dụng nào, muốn để app nào trên thanh dock, có giữ trợ lý giọng nói, Chromecast và cập nhật hệ thống hay không. | | 4. Kiểm tra | Làm theo hướng dẫn để sao lưu, dọn dẹp và cài đặt, rồi thử mở ứng dụng, nút remote, chuyển nguồn HDMI và cách khôi phục. | Vì sao cần sao chép kho lưu trữ: trợ lý dùng luôn `tools/disable.sh` và `launcher/build-and-install.sh` của kho này thay vì tự viết bộ công cụ riêng, và bản sao lưu, lớp bảo vệ Home cùng bản ghi khôi phục đều nằm trong đó. ## Launcher có gì - **Màn hình chính tối giản**: nền tối, mặc định bốn ứng dụng hay dùng trên thanh dock phía dưới. - **Tên ứng dụng đang chọn**: hiện tên ứng dụng chữ lớn, kèm ánh màu lấy từ banner của ứng dụng (không có banner thì lấy từ icon). - **Lưới ứng dụng**: bấm xuống để xem thêm ứng dụng, mỗi hàng 4, 5, 6 hoặc 7 ô. - **Sắp xếp bằng remote**: giữ nút Cài đặt để mở menu và vào chế độ sắp xếp. - **Thư viện ứng dụng (tuỳ chọn)**: xem các ứng dụng đã cài, thêm hoặc bớt ứng dụng trên màn hình chính bằng remote. - **Hiệu ứng chuyển động**: bật hoặc tắt hiệu ứng, có thêm mức hiệu ứng nâng cao riêng. - **Lối tắt thường dùng**: Wi-Fi / Ethernet và Cài đặt; nếu TV có HDMI, AV, truyền hình trực tiếp hoặc bảng nguồn nhận dạng được thì có thêm nút Nguồn vào. Tên cổng HDMI giữ đúng tên bạn đặt trong cài đặt TV. - **Đồng hồ và trình bảo vệ màn hình**: lời chào, giờ, ngày, và trình bảo vệ màn hình đồng hồ đi kèm. - **Theme**: đổi màu, hình nền, thanh dock và số cột bằng file cấu hình, không cần build lại. - **Thẻ module**: ứng dụng khác có thể thêm thẻ lên màn hình chính, chỉ hiện khi bạn đồng ý.  ### Chỉnh cài đặt ngay trên TV Bấm nút **Cài đặt** trên màn hình chính để mở cài đặt của TV. **Giữ nút OK trên remote khi đang chọn nút đó** rồi chọn mục cài đặt launcher để chỉnh: | Mục | Tác dụng | |---|---| | Số ứng dụng mỗi hàng | Chọn 4, 5, 6 hoặc 7; càng nhiều cột thì ô càng nhỏ. | | Hiệu ứng chuyển động | Bật hoặc tắt hiệu ứng của launcher. | | Hiệu ứng nâng cao | Ô nhấc lên, icon phóng to, màu nền chuyển mượt hơn. Có thể tốn thêm bộ nhớ, tuỳ TV. | | Theo theme (xoá cài đặt trên TV) | Xoá các lựa chọn bố cục và hiệu ứng đã chỉnh trên TV, quay về theme hiện tại hoặc cấu hình gốc. Đẩy hoặc reset theme cũng xoá các lựa chọn này. | | Lối vào màn hình chính mặc định | Mở trang chọn màn hình chính của Android để chuyển giữa launcher gốc và CleanYourTV. | Lối vào màn hình chính mặc định không bật lại launcher gốc nếu nó đã bị script cài đặt tắt; khi đó hãy khôi phục theo hướng dẫn bên dưới. Một số TV không có trang chọn màn hình chính. Bạn cũng có thể hiện lối vào này thành một ô riêng bằng `show_home_settings_shortcut`. ### Sắp xếp và thư viện ứng dụng Giữ OK trên nút Cài đặt, chọn chế độ sắp xếp trong menu. Bấm OK để nhấc ứng dụng muốn di chuyển, dùng phím mũi tên để đổi chỗ, rồi bấm OK hoặc Back để đặt xuống; khi không cầm ứng dụng nào, bấm Back để thoát và lưu. Nút sắp xếp riêng trên thanh trên cùng mặc định bị ẩn, bật bằng `reorder_button` trong cấu hình hoặc theme. Thư viện ứng dụng mặc định tắt. Bật `app_library` trong cấu hình hoặc theme thì lối vào hiện sau hàng ứng dụng cuối cùng trên màn hình chính. Thư viện liệt kê cả ứng dụng cho TV lẫn ứng dụng Android thường; ứng dụng Android thường có thể vẫn cần chuột hoặc màn hình cảm ứng. - Bấm OK vào ứng dụng chưa có trên màn hình chính để thêm lối tắt. - Bấm OK vào ứng dụng đã có trên màn hình chính để mở; giữ OK để mở menu thêm hoặc bớt lối tắt, hoặc xem thông tin ứng dụng. - Bớt khỏi màn hình chính không gỡ ứng dụng. Lựa chọn được giữ qua khởi động lại, cập nhật ứng dụng, và khi đẩy hoặc reset theme. Xem thêm [hướng dẫn thư viện ứng dụng](docs/app-library.md). ## TV nào dùng được Danh sách dọn dẹp dành cho **Android TV / Google TV**; launcher hiện cần **Android 8.0 (API 26) trở lên**. Cộng đồng đã đóng góp cấu hình cho nhiều dòng TV và TV box; một số máy chạy Android thấp hơn mức tối thiểu của launcher, nên có danh sách dọn dẹp chưa chắc đã cài được launcher. Hãy đối chiếu model, khu vực và firmware trong [danh sách TV](examples/README.md), đọc ghi chú trong thư mục tương ứng rồi mới dùng danh sách tắt ứng dụng. - Samsung Tizen và LG webOS không chạy được launcher Android của dự án; [docs/devices/samsung-tizen.md](docs/devices/samsung-tizen.md) ghi lại những gì một TV Tizen đời 2021 mở ra trong mạng nội bộ (không có ADB, nên không tắt được ứng dụng). Các bản chuyển sang nền tảng khác của cộng đồng nằm trong [Dự án cộng đồng](SHOWCASE.md). Để tắt tính năng theo dõi trên Samsung, LG, Roku và các TV không chạy Android khác: [cleanyour.tv/not-android](https://cleanyour.tv/not-android). - Fire TV có các ghi chú dọn dẹp để tự làm theo; [câu lệnh cho trợ lý](PROMPT.md) không dùng cho Fire TV, và Fire OS không cho thay màn hình chính mặc định. - Một số TV bán tại Trung Quốc đại lục từ chối cài APK ngoài hoặc launcher bên thứ ba. Đừng đoán khả năng tương thích chỉ dựa vào hãng. - Chưa có danh sách cho TV của bạn thì để trợ lý kiểm tra TV thật, rồi gửi lại cấu hình đã kiểm chứng theo [hướng dẫn đóng góp](CONTRIBUTING.md). ### Lưu ý cho TV bán tại Việt Nam - [TCL 55P8LS](examples/tcl-55p8ls/debloat.txt) đã có danh sách đầy đủ, cùng nền tảng G10 với [`tcl-g10-google-tv`](examples/tcl-g10-google-tv/debloat.txt). - Trên nhiều máy Google TV, mạng Wi-Fi lưu lúc cài đặt ban đầu thuộc về trình cài đặt `setupwraith`. Hãy **quên mạng Wi-Fi rồi kết nối lại** trong Cài đặt trước khi tắt nó, nếu không TV sẽ mất mạng (xem [Xử lý sự cố](#xử-lý-sự-cố)). - Đăng nhập tài khoản Google sau khi dọn dẹp, Play Store có thể tự cài các ứng dụng gợi ý theo khu vực (VTV Go, HBO Max, iQIYI…). Đó là ứng dụng thường, gỡ được; tắt **tự động cập nhật ứng dụng** trong cài đặt Play Store để hạn chế. ## Tự làm bằng tay Các lệnh dưới đây chạy từ thư mục gốc của repo. `192.168.1.50` là địa chỉ ví dụ, hãy thay bằng IP của TV (xem trong **Cài đặt → Mạng và Internet**, bấm vào mạng đang kết nối). `tools/tv.py` mặc định kết nối ADB qua TCP cổng 5555; nếu TV chỉ có **Gỡ lỗi không dây** cần ghép đôi bằng mã, hãy ghép đôi và mở cổng 5555 theo [các bước kết nối trong câu lệnh cho trợ lý](PROMPT.md) trước. ### 1. Chuẩn bị công cụ kết nối Công cụ kết nối cần Python 3: ```bash python3 -m venv tools/venv tools/venv/bin/pip install -r tools/requirements.txt export TV_HOST=192.168.1.50 # Xem model, phiên bản Android và firmware tools/venv/bin/python -I tools/tv.py --probe # Xem các gói ứng dụng đã cài tools/venv/bin/python -I tools/tv.py 'pm list packages' ``` ### 2. Áp dụng danh sách tắt ứng dụng **Đường dẫn Xiaomi bên dưới chỉ là ví dụ, hãy thay bằng danh sách đúng với TV của bạn và đã đối chiếu kỹ.** Đừng dùng danh sách của model khác cho TV mình. ```bash tools/disable.sh examples/xiaomi-mi-tv-4a/debloat.txt ``` Đường dẫn danh sách tính từ thư mục bạn đang đứng khi chạy lệnh, hoặc dùng đường dẫn tuyệt đối. Giữ lại danh sách và bản ghi khôi phục mà công cụ tạo ra để có thể hoàn tác. Nếu muốn có bản sao lưu đầy đủ ứng dụng và cài đặt, hãy tự lưu trước khi tắt; `tools/disable.sh` không tạo bản sao lưu đó. ### 3. Build và cài launcher Launcher viết bằng Java và AndroidX RecyclerView, tên gói `com.gathin.tvhome`. Cần JDK 17, Android SDK Platform 34 và Build Tools 34.0.0. Trên macOS: ```bash brew install openjdk@17 android-commandlinetools sdkmanager "platforms;android-34" "build-tools;34.0.0" ``` Trên Linux, script cài đặt tìm SDK ở `~/Android/Sdk` và Java trong `PATH`. Chuẩn bị xong thì chạy: ```bash TV_HOST=192.168.1.50 launcher/build-and-install.sh ``` **Script này không chỉ cài APK mà còn đổi màn hình chính mặc định và tắt launcher gốc nếu nhận ra nó.** Script mở thử launcher mới trước, chạy được mới chuyển; chuyển không thành công thì cố quay lại như cũ. Script chỉ tự nhận ra `com.google.android.tvlauncher`, `com.google.android.apps.tv.launcherx`, `com.google.android.leanbacklauncher` và `com.mitv.tvhome`; không nhận ra thì kiểm tra TV rồi tự chỉ định `STOCK_LAUNCHER=