📦HydeYYHH / Litube
← 返回首页
An unofficial, open-source YouTube client for Android.
⚖️ GPL-3.0📅 创建于 2025-02-10🔄 更新于 2026-11-09
🔗 GitHub Kotlin

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有

Litube icon
Litube

An unofficial, open-source YouTube client for Android.

Get it on GitHub

Litube v4.0.0 Android 7.0 or later GPL v3 license

Built on a fork of MediaServiceCore, the YouTube engine used by SmartTube, and inspired by NewTube. Our thanks to the maintainers and contributors of both projects for the work, code, and ideas that make Litube possible.

Browse videos and Shorts, follow your favorite channels, and organize your playlists in an Android interface built with Jetpack Compose. Watch videos, listen in the background, or save your favorites for offline playback.

Previews

Home   Search   Playback   Subscriptions

Features

  • Browse YouTube. Explore your home feed, search for videos, and browse channels, playlists, Shorts, and your library.
  • Play your way. Enjoy ad-free playback with controls for video quality, speed, subtitles, and audio tracks. Keep listening in the background, use picture-in-picture or the mini-player, or cast to another device.
  • Download for later. Save videos, audio, subtitles, or entire playlists. Choose the quality and language, and pause or resume downloads as needed.
  • Keep things organized. Build queues with shuffle, repeat, and autoplay. Watch history and Watch later are available even when you're signed out.
  • Multiple accounts, all in one. Easily switch between your anonymous account and multiple signed-in accounts.
  • Make it yours. Customize SponsorBlock, playback gestures, themes, and language. Enable DeArrow for alternative titles and thumbnails.

Downloads

Get APKs and release notes from GitHub Releases, or build the app from source.

Requirements: Android 7.0 / API 24 or later and an up-to-date Android System WebView. Picture-in-picture requires Android 8.0 / API 26 or later and a compatible device.

Milestones

Release Milestone
v1
2025-02
The start of our journey
A lightweight WebView client with ad blocking, background playback and downloads.
v2
2026-01
Playback and downloads
Added native Media3 player, NewPipe-based stream extraction, picture-in-picture, and a download manager while keeping YouTube's web interface.
v3
2026-10
A Kotlin rewrite
Rebuilt the app with Kotlin and Jetpack Compose, reworking player and downloader while keeping WebView-based browsing.
v4.0.0
2026-11
Native browsing
Replaced WebView browsing with native Compose screens and MediaServiceCore, bringing anonymous and signed-in accounts together with the Media3 player and download system.

Build from source

Use JDK 21, Android SDK Platform 36, and Build Tools 36.0.0 to match the CI environment. The repository includes a Gradle 8.11.1 wrapper.

Clone the v4 branch:

git clone --branch v4 https://github.com/HydeYYHH/litube.git
cd litube

Gradle downloads MediaServiceCore v1.0.0 from JitPack using the version pinned in gradle/libs.versions.toml.

Set ANDROID_HOME to your Android SDK directory, or set sdk.dir in an untracked local.properties file. Then build the debug APK:

./gradlew :app:assembleDebug

On Windows, replace ./gradlew with .\gradlew.bat in these commands.

The debug APK is saved to app/build/outputs/apk/debug/app-debug.apk. Debug builds use the application ID com.hhst.litube.debug; release builds use com.hhst.litube.

To build the release APK, run ./gradlew :app:assembleRelease. The unsigned APK is saved to app/build/outputs/apk/release/app-release-unsigned.apk; sign it with your release key before distribution.

Tests and verification Run unit tests and Android lint checks:
./gradlew :app:testDebugUnitTest :app:lintDebug
Build the instrumented test APK:
./gradlew :app:assembleDebugAndroidTest
Instrumented tests use local fixtures by default. To run live-service read checks, pass `network=1` as an instrumentation runner argument. See [CONTRIBUTING.md](https://github.com/HydeYYHH/Litube/blob/HEAD/CONTRIBUTING.md) and the [Android workflow](https://github.com/HydeYYHH/Litube/blob/HEAD/.github/workflows/android.yml) for device testing and release verification, including R8 checks.
Tech stack Litube is built with **Kotlin**, Jetpack Compose / Material 3, **AndroidX Media3**, **coroutines / StateFlow**, **Koin**, **Room**, **WorkManager**, and **OkHttp**. Content and stream extraction are provided by the [MediaServiceCore fork maintained for Litube](https://github.com/HydeYYHH/MediaServiceCore).

Contributing

Bug reports, translations, and focused pull requests are welcome. Read CONTRIBUTING.md for the project structure, coding conventions, and validation steps.

When reporting a bug, include your app version, device model, Android version, steps to reproduce the issue, and what you expected to happen. Describe what happened instead and attach a diagnostic archive if available.

Acknowledgements

Built on a fork of MediaServiceCore, the YouTube engine used by SmartTube, and inspired by NewTube. Our thanks to the maintainers and contributors of both projects for the work, code, and ideas that make Litube possible.

Parts of the Cast implementation are adapted from NewTube, with the original license and attribution retained. Litube also builds on AndroidX Media3 and the wider open-source Android ecosystem, with support for SponsorBlock and DeArrow.

Star History

Litube star history


Litube · Licensed under the GNU GPL v3.0

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR