跳到正文

ToomRamcharan

tv-vibehack

Reverse-engineer any Android TV / Google TV: 100% fail-safe direct boot launcher, remote hotkey remapping, Realtek hardware passthrough & offline media player.

README 已保存到本站,可直接阅读

Documentation snapshot

README 快照

这篇是英文原文

下面正文是项目自己的英文 README。想读全文就用浏览器自带的整页翻译: Chrome / Edge 点地址栏右侧的翻译图标,或用右键菜单里的「翻译成中文」; 手机浏览器一般在菜单里。

本页保存的是公开项目资料快照,阅读过程不需要连接 GitHub。

tv-vibehack 📺✨

Transform any ad-bloated Android TV or Google TV into a lightning-fast, tvOS-inspired, fail-safe experience — without root, without bootloop risks, and without losing access to stock features.

图片:Android 14 Ready 图片:License: MIT 图片:Root Required: No 图片:Zero Bootloop Architecture


📐 Architecture & Transformation Overview

[ STOCK GOOGLE TV ]                             [ NLRC TV VIBEHACK ]
┌──────────────────────────────────────┐        ┌──────────────────────────────────────┐
│  Sponsored Ad Banner (70% Screen)    │        │  NLRC Home · Ambient Clock & Date    │
│  [Trending Shows] [Paid Promotions]  │        │                                      │
│  50+ Bloatware OTT Apps              │   ➔    │                                      │
│  Remote Buttons Lock You In Paywalls │        │  Dock: [HDMI 2 (Cable)] [Media Vault]│
└──────────────────────────────────────┘        └──────────────────────────────────────┘
   • 2.5 GB RAM used                               • 120 MB RAM used
   • Heavy telemetry & tracking                    • 0 Ads · 0 Telemetry · 100% Fail-Safe

🎯 The Motivation

Modern Smart TVs ship with:

  • Sponsored ads covering 70% of the screen.
  • Sluggish bloatware and 50+ pre-installed background apps consuming memory and tracking habits.
  • Unremappable sponsored remote buttons (Netflix, Prime Video) that elderly family members hit by mistake, throwing them into subscription walls.
  • Overly complicated navigation that makes switching to Cable/HDMI or playing personal home videos a headache.

tv-vibehack solves this permanently. Originally built to give aging parents a distraction-free, one-touch TV experience, it provides a universal blueprint for taking back control of any Android TV without root.


⚡ What Makes This Different?

1. 🛡️ The 100% Fail-Safe Architecture (Zero Bootloops)

On Android 14 Google TV, disabling the stock launcher (com.google.android.apps.tv.launcherx) breaks Direct Boot, tripping Android’s RescueParty service and bricking the TV into a black-screen recovery state.

tv-vibehack never disables launcherx. Instead:

  • The custom launcher is directBootAware="true".
  • A lightweight native Accessibility Service (HomeKeyService) intercepts Home key events and window transitions in under 10ms.
  • If the custom launcher is ever uninstalled or crashes, Google TV seamlessly takes over. Zero chance of bricking your TV.

2. 🔀 Hardware Passthrough (Direct HDMI Switching)

No more opening 4 nested TV menus just to watch cable. Through reverse-engineered Realtek RTD TvContract passthrough URIs, the launcher switches directly to HDMI inputs programmatically:

Uri uri = TvContract.buildChannelUriForPassthroughInput(
    "com.realtek.tv.passthrough/.hdmiinput.HDMITvInputService/HW151519744" // HDMI 2
);
context.startActivity(new Intent(Intent.ACTION_VIEW, uri));

3. 🎮 Sponsored Remote Key Remapping (No Root)

HomeKeyService intercepts hardcoded hardware remote buttons (KEYCODE_BUTTON_3 for Netflix, KEYCODE_BUTTON_4 for Prime Video, KEYCODE_PROG_RED/GREEN) and redirects them straight to HDMI 2 / Set-Top Box in <150ms without root.

4. 🎞️ Offline TV Media Vault & Legacy Transcoding

Many families have legacy home videos or recordings stored on USB drives encoded in older formats (e.g., DVD MPEG-2) that native modern Smart TV chipsets cannot decode inside standard MP4 containers.

How to Add Your Own Media:
  1. Transcode to Hardware-Accelerated H.264:
    ffmpeg -i "MyVideo_Part_1.mp4" -c:v libx264 -preset faster -crf 23 -c:a aac -b:a 192k "Part_1.mp4"
  2. Push Directly into TV Internal Storage:
    adb shell mkdir -p /sdcard/Movies/NLRC
    adb push Part_1.mp4 /sdcard/Movies/NLRC/Part_1.mp4
    adb push Part_2.mp4 /sdcard/Movies/NLRC/Part_2.mp4
    adb push Part_3.mp4 /sdcard/Movies/NLRC/Part_3.mp4
  3. Instant D-pad Remote Navigation: Launch PenDrive / Media Viewer directly from the dock. No USB stick needs to remain plugged in; videos play natively at 60fps with intuitive remote controls:
    • ◄ / ►: Seek -10s / +10s with real-time HUD.
    • ▲ / ▼ or CH+ / CH-: Switch to Next / Previous part.
    • OK: Play / Pause toggle.

🚀 Quick Start

1. Enable ADB on your Android TV

  1. On the TV: Settings → System → About → Click Build 7 times to enable Developer Options.
  2. Go to Settings → System → Developer Options → Turn on USB Debugging (and Network Debugging if available).
  3. Connect your computer to the same Wi-Fi network as the TV.

2. Connect via ADB

adb connect :5555

Accept the “Always allow from this computer” dialog on your TV.

3. Safe Debloat

Safely disable ad-trackers and bloatware using model-specific profiles:

# Example for Acer / Realtek QLED Android 14 TVs
adb shell pm disable-user --user 0 com.google.android.tvrecommendations

(See examples/ for model-specific profiles).

4. Build & Install the Launcher

cd launcher
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk

5. Enable the Accessibility Interceptor

adb shell settings put secure enabled_accessibility_services com.gathin.tvhome/.HomeKeyService
adb shell settings put secure accessibility_enabled 1

📁 Repository Structure

PathDescription
launcher/Native Android TV launcher with Apple tvOS aesthetics, D-pad navigation, ambient glow, and Direct Boot awareness.
launcher/.../HomeKeyService.javaFail-safe Accessibility Service intercepting Home button and sponsored hotkeys.
launcher/.../HdmiHelper.javaDirect Realtek / Android TV hardware passthrough input launcher.
launcher/.../PenDriveActivity.javaMedia viewer card UI for offline TV storage / USB playback.
launcher/.../VideoPlayerActivity.javaHardware-accelerated full-screen player with remote seek HUD and episode switching.
examples/acer-v-pro-32-qled/Comprehensive teardown and architecture notes for Acer / MOKA Realtek RTD QLED TVs.
tools/Helper scripts: safe_switch.bat / safe_switch.sh for one-click toggle between stock and custom launcher.

📖 Deep Dive Hardware Case Studies

  • Acer V Pro 32” QLED (Android 14 API 34, Realtek RTD, MOKA R3G)
  • Xiaomi Mi TV 4A (PatchWall Debloat)

🤝 Contributing

Contributions are warmly welcomed! If you’ve reverse-engineered input IDs or debloat profiles for your specific TV brand (TCL, Sony Bravia, Hisense, OnePlus, Nvidia Shield), please submit a pull request under examples/.

See CONTRIBUTING.md for details.


📄 License

This project is licensed under the MIT License. Outfit typeface licensed under SIL Open Font License.

Official distribution

获取与安装

暂未发现可确认的官方软件包地址

当前 README 快照没有出现 npm、PyPI、Crates.io、pub.dev 等官方包页链接。本站不会根据仓库名称猜测下载地址。

本站不托管项目文件;需要安装时,请以项目维护者发布的官方文档为准。

使用前核验

本站保存公开资料用于阅读,不代表安全审计或功能背书。安装前请核对许可证、依赖来源和发布签名,不要直接运行来源不明的二进制文件或高权限脚本。