tv-vibehack
Health Gecti
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 878 GitHub stars
Code Gecti
- Code scan — Scanned 5 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Your TV, minus the ads. Debloat any Android TV over ADB and give it a clean, tvOS-inspired launcher. Built in an afternoon with Claude Code.
tv-vibehack
Your TV, minus the ads. Debloat any Android TV / Google TV over ADB and give it a clean,
tvOS-inspired launcher. Hand the prompt to Claude Code or any coding assistant, answer a few
questions about which apps you use, and it does the rest on the real TV.
| Stock home screen | After |
|---|---|
![]() |
![]() |
Everything is reversible: packages are disabled, never uninstalled, and a restore script puts the
stock launcher back.
Quick start
- On the TV: Settings → Device Preferences → About → press OK on Build seven times → back →
Developer options → turn on USB debugging (and Network/ADB debugging if your TV shows it).
Keep the TV on and on the same Wi-Fi as your computer. - Open Claude Code (or your assistant of choice) on your computer and paste the prompt from
PROMPT.md, filling in your TV model. - Accept the "Allow USB debugging?" prompt on the TV when told to, then answer the checklist
questions (which apps you use, which four go in the dock).
That's it. The assistant backs up, debloats, builds and installs the launcher, and verifies each
step with screenshots from the TV. If you'd rather do it by hand, the pieces are below.
What's in the repo
| Path | What it is |
|---|---|
PROMPT.md |
The prompt. Brand-neutral; the assistant discovers your TV's bloat. |
launcher/ |
The tvOS-style launcher. Edit app/src/main/res/values/config.xml for your dock, hidden apps and Live TV package, then run build-and-install.sh. |
tools/tv.py |
Pure-Python ADB client (shell, batch, push, pull). Works where the stock adb is blocked. |
tools/b64push.py |
Uploads larger files (APKs) as base64 chunks with an md5 check. |
tools/disable.sh, tools/restore.sh |
Apply or undo a debloat list. |
examples/ |
Per-TV debloat lists. Add yours, see CONTRIBUTING.md. |
The launcher
A small native Android TV home screen (com.gathin.tvhome), built for sets with 1 GB of RAM:
- Pitch-black background, like Apple TV 4K.
- A dock at the bottom in a lighter rounded band with the four apps you choose. The shelf above
shows the focused dock app's name in large type with an ambient glow sampled from its banner.
Press Down and the dock slides up to reveal the rest of your apps in a grid. - One translucent glass highlight springs from tile to tile. The focused tile lifts and shows its
name. - Frosted pills top right: Inputs (a dropdown of HDMI ports, AV and Live TV), Wi-Fi
(shows the network name) and Settings. Greeting, a large thin clock and the date top left,
set in Outfit. - Deterministic D-pad navigation, last focused tile remembered, staggered entrance animation.
No blur, no video, no network, no background services.
Configure it in launcher/app/src/main/res/values/config.xml:
dock order, hidden apps, Live TV package and columns. Build and install with
TV_HOST=192.168.1.50 launcher/build-and-install.sh
Needs JDK 17 and the Android SDK (platform 34, build-tools 34.0.0). On macOS:brew install openjdk@17 android-commandlinetools && sdkmanager "platforms;android-34" "build-tools;34.0.0".
Windows
PowerShell versions of the scripts sit next to the bash ones. With Android Studio installed, nothing
else is needed: the script uses Android Studio's bundled JDK and the default SDK location, and Gradle
downloads platform 34 and build-tools 34.0.0 on the first build if the SDK licence is accepted.
python -m venv tools\venv; tools\venv\Scripts\python.exe -m pip install -r tools\requirements.txt
powershell -ExecutionPolicy Bypass -File launcher\build-and-install.ps1 -TvHost 192.168.1.50
powershell -ExecutionPolicy Bypass -File tools\disable.ps1 -TvHost 192.168.1.50 examples\xiaomi-mi-tv-4a\debloat.txt
powershell -ExecutionPolicy Bypass -File tools\restore.ps1 -TvHost 192.168.1.50 examples\xiaomi-mi-tv-4a\debloat.txt
build-and-install.ps1 stops before touching the stock launcher if the install or setting the new
home screen fails.
Talking to the TV by hand
python3 -m venv tools/venv && tools/venv/bin/pip install -r tools/requirements.txt
export TV_HOST=192.168.1.50 # your TV's IP
tools/venv/bin/python -I tools/tv.py --probe # model, Android version, firmware
tools/venv/bin/python -I tools/tv.py 'pm list packages' # one command
printf 'cmd1\ncmd2\n' | tools/venv/bin/python -I tools/tv.py --batch
tools/disable.sh examples/xiaomi-mi-tv-4a/debloat.txt # apply a list
tools/restore.sh examples/xiaomi-mi-tv-4a/debloat.txt # undo it, restore stock launcher
Gotchas we hit
- Windows PowerShell 5.1 prepends a byte-order mark to text piped into a native program, which
turned the first--batchcommand intopm("inaccessible or not found").tools/tv.pynow
reads stdin asutf-8-sig, and the.ps1scripts pipe UTF-8 without a BOM. - macOS:
adb connectsays "No route to host" while the port is clearly open. Recent macOS
treats the Google-signedadbas its own app under Local Network privacy and silently blocks it.tools/tv.pyavoids the binary entirely. - No "wireless debugging" toggle on some TVs (Xiaomi among them). USB debugging alone opens
network ADB on port 5555. - Windows (Git Bash): the scripts pick up
tools/venv/Scripts/python.exeand setMSYS_NO_PATHCONV=1, otherwise Git Bash rewrites device paths like/data/local/tmpinto Windows
paths.launcher/build-and-install.shdefaults to Homebrew paths, so setJAVA_HOMEandANDROID_HOMEfirst. - Chained
pmcommands (pm disable a; pm disable b) may silently stop after the first. Run
one per shell call;--batchdoes this. - Large pushes hang through the Python client. Use
tools/b64push.pyfor APKs. - Screenshots come out empty (0-byte PNG) while Live TV or an HDMI input is on screen (seen on
TCL). Press Home beforescreencap. - Disable the stock launcher only after the new one is installed, or the Home button lands on
a factory test app. - Third-party launchers often charge for basics like a custom wallpaper. Hence
launcher/. - No on-screen keyboard after switching launchers (seen on Xiaomi): the default input method
pointed at a Baidu IME that isn't installed. Fix withtools/tv.py 'ime set com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME'.
Supported TVs
Anything running Android TV or Google TV: Xiaomi/Redmi, TCL, Hisense, Sony, OnePlus, Realme,
Nvidia Shield and most others. Not Samsung Tizen, LG webOS or Amazon Fire TV (different OS, no ADB
launcher replacement). Tested so far on the models in examples/.
Contributing
Add your TV's debloat list, improve the launcher, or sharpen the prompt. See
CONTRIBUTING.md.
Licence
MIT, see LICENSE. The Outfit typeface is under the SIL Open Font License, seelauncher/FONT-LICENSE-OFL.txt.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi

