$ cat posts/2026-10-28-cleanyourtv.md
루트 없이, 케이블 없이, 앱 삭제 없이 안드로이드 TV·구글 TV의 스폰서 행·광고·텔레메트리만 골라 끄고, 532KB짜리 깔끔한 런처를 기본 홈으로 올려주는 디블로트 키트. 복원 스크립트 한 줄이면 원상복구된다.
CleanYourTV는 안드로이드 TV나 구글 TV의 홈 화면을 정리해주는 도구다. TV의 개발자 옵션에서 USB 디버깅만 켜면, 같은 와이파이에 있는 컴퓨터에서 ADB로 접속해 제조사 텔레메트리·광고 서비스·스폰서 행·안 쓰는 기본 앱을 pm disable-user로 비활성화하고, 532KB짜리 작은 런처를 기본 홈으로 설치한다. 앱은 하나도 삭제하지 않기 때문에, 복원 스크립트 한 줄이면 전부 되돌릴 수 있다.
TV 홈 화면이 광고판처럼 변한 게 문제라면, 이 프로젝트는 그 원인을 끄는 쪽으로 접근한다.
런처 자체는 자바 네이티브 앱으로 약 532KB, 네트워크 권한·백그라운드 서비스 없이 돌아가며 TV 언어 29개를 지원한다. 설정 화면에서 독 순서, 숨길 앱, 한 줄 앱 개수(4~7개) 등을 바꿀 수 있다.
출발점이 평범한 가족 TV였다. 2026년 10월 17일, 작성자가 부모님 TV를 코딩 에이전트로 와이파이 정리한 전후 사진을 올렸고 이 트윗이 740만 조회까지 퍼졌다. 그 뒤 나흘 만에 200명 넘는 기여자가 170개 넘는 TV 모델의 디블로트 목록을 모았고, TCL 75종·소니 40종·샤오미 32종 같은 모델별 테스트 목록이 examples/ 폴더에 쌓였다. 하루 별 증가 +2,616개(집계창 2026-10-26 UTC)로, 어제 다룬 REA 다음으로 빠르게 오르고 있다.
TV 설정 → 기기 환경설정 → 정보 → 빌드 항목을 7번 누르면 개발자 옵션이 생긴다. 개발자 옵션에서 USB 디버깅을 켜고, 네트워크 ADB 디버깅 토글이 보이면 그것도 켠다. TV는 켠 상태로 둔다.
git clone https://github.com/Gathin23/cleanyourtv
클론한 폴더를 Claude Code, Codex, Gemini CLI, Antigravity CLI 같은 코딩 에이전트에 열고, 저장소의 PROMPT.md를 붙여넣은 뒤 TV 모델을 적는다. TV에서 "USB 디버깅 허용?"이 뜨면 승인하고, 체크리스트에 답한다. 어떤 앱을 쓰는지, 독 크기와 순서, 음성 비서·Chromecast·업데이트를 유지할지 등이다. 에이전트가 백업→디블로트→런처 빌드·설치 과정을 거치며, 각 단계를 TV 스크린샷으로 확인한다. 저장소 기준으로 약 15분 걸린다.
도구는 Python 3만 있으면 된다.
python3 -m venv tools/venv && tools/venv/bin/pip install -r tools/requirements.txt
export TV_HOST=192.168.1.50 # TV의 IP 주소
tools/venv/bin/python -I tools/tv.py --probe # 모델·안드로이드 버전·펌웨어 확인
tools/venv/bin/python -I tools/tv.py 'pm list packages' # TV에서 셸 명령 한 줄 실행
tools/disable.sh examples/xiaomi-mi-tv-4a/debloat.txt # 디블로트 목록 적용
TV_HOST=192.168.1.50 launcher/build-and-install.sh # 런처 빌드 후 기본 홈으로
tools/theme.sh themes/aurora # 테마 적용
TV 모델에 맞는 목록은 examples/ 폴더에서 찾는다. 자기 모델이 없으면 에이전트에게 TV에서 직접 찾아달라고 하거나, 목록을 새로 만들어 기여할 수 있다.
tools/restore.sh examples/xiaomi-mi-tv-4a/debloat.txt # 적용한 목록을 되돌리고 기본 런처 복원
복원 스크립트는 변경 전에 기록한 상태를 기준으로 되돌린다. 런처만 그만 쓰고 싶으면 런처 설정에서 안드로이드 홈 선택기를 열어 원래 런처를 고르면 된다. 단, 설치 스크립트가 원래 런처를 비활성화했다면 복원 스크립트를 먼저 돌려야 한다.
pm 경로 자체가 막혀 있다. 중국 내수 TCL 일부 모델도 런처 설치를 거부한다.tools/adb-closed.py로 포트가 닫혔는지 확인할 수 있다.tools/check.py로 적용 목록과 현재 TV 상태를 비교하고 --fix로 다시 맞출 수 있다.tools/privacy.py 감사 결과에서 각 패키지의 근거와 손실을 확인하고 끄는 게 안전하다.