Skip to content

codexskills/YouTubeClone

Repository files navigation


Version Kotlin Min SDK License

YouTubeClone

A premium, open-source YouTube client for Android
Built with Kotlin + Jetpack Compose + ExoPlayer — featuring YouTube-style UI, video playback, settings, and more.


Download   Source   Updates


✨ Highlights

Area Features
🎬 Player ExoPlayer, double-tap seek (±10s), speed (0.25x–5x), quality selector, loop, captions, stats for nerds, fullscreen pinch-zoom
📺 UI YouTube-style flat bottom nav (Home, Shorts, Create+, Notifications, Profile), dark theme, mini player
🏠 Home Category feeds, video cards, channel bar, pull-to-refresh, shimmer loading
📱 Shorts Vertical swipe feed, autoplay, like/dislike, share
👤 Profile Avatar, stats, playlists, history, downloads, liked videos, sign-in prompt
⚙️ Settings 11 sub-pages: General, Account, Data Saver, Autoplay, Quality, Downloads, TV, History, Privacy, Notifications, Accessibility
🔐 Login 2-step login with guest mode, YouTube-style form
⬇️ Downloads Quality selector, download manager
🔔 Notifications Notification feed
💬 About Developer credits, version info, release notes

📸 Screenshots

┌─────────────────────────────────────────────────────────────────┐
│  Screenshots coming soon — Replace this section with your own  │
│  device screenshots of Home, Player, Settings, Profile, etc.   │
└─────────────────────────────────────────────────────────────────┘

🚀 Quick Start

Download & Install

# Option 1: Direct download
curl -O http://187.127.175.206:8080/app-release.apk
adb install app-release.apk

# Option 2: Browse to URL
open http://187.127.175.206:8080/

Build from Source

# Clone
git clone https://github.com/codexskills/YouTubeClone.git
cd YouTubeClone

# Build
chmod +x gradlew
./gradlew assembleRelease

# Output: app/build/outputs/apk/release/app-release-unsigned.apk
# Sign with your keystore before install

🛠️ Tech Stack

Layer Technology
Language Kotlin 2.0
UI Jetpack Compose, Material 3
Player ExoPlayer (Media3)
API InnerTube (YouTube)
Async Coroutines + Flow
DI Hilt
Storage DataStore Preferences
Build Gradle 9.4, Kotlin 2.3
Min SDK API 24 (Android 7.0)
Target SDK API 36

📁 Architecture

app/
├── src/main/java/com/darkk/youtube/
│   ├── data/
│   │   └── LocalRepository.kt        # DataStore + session management
│   ├── download/
│   │   └── DownloadManager.kt        # Video download handler
│   ├── innertube/
│   │   ├── InnerTubeClient.kt        # YouTube API client
│   │   └── PlayerData.kt             # Data models
│   ├── ui/
│   │   ├── components/               # Reusable composables
│   │   │   ├── VideoOptionsSheet.kt
│   │   │   ├── DownloadDialog.kt
│   │   │   └── YouTubeTopBar.kt
│   │   ├── screens/                  # All screen composables
│   │   │   ├── HomeScreen.kt
│   │   │   ├── ShortsScreen.kt
│   │   │   ├── PlayerScreen.kt       # 1800+ lines
│   │   │   ├── ProfileScreen.kt
│   │   │   ├── SettingsScreen.kt
│   │   │   ├── LoginScreen.kt
│   │   │   ├── AboutScreen.kt
│   │   │   ├── NotificationsScreen.kt
│   │   │   ├── CreateScreen.kt
│   │   │   ├── SettingsSubPage.kt    # Reusable settings UI
│   │   │   └── *_SettingsScreen.kt   # 11 sub-settings
│   │   └── theme/
│   └── viewmodel/
│       └── YouTubeViewModel.kt       # Main ViewModel
├── src/main/res/
│   ├── drawable/
│   │   ├── ic_launcher_foreground.xml # YouTube-style play icon
│   │   └── ic_launcher_background.xml # Red background
│   └── mipmap-*/                     # Launcher icons
└── build.gradle.kts

⚙️ Configuration

Settings stored via DataStore:

Setting Values Default
Playback Speed 0.25x – 5x 1x (Normal)
Video Quality Auto, 144p–1080p Auto
Data Saver On/Off Off
Autoplay On/Off On
Dark Theme On/Off On
Save History On/Off On
Captions Off / Language Off
Loop On/Off Off

🖼️ App Icon

Red BG
Red (#FF0000)
White Play
Play Triangle

YouTube-style adaptive icon for API 26+


👨‍💻 Developer


Codex Skiller

Codex Skiller
Android Developer & Creator


GitHub Updates Telegram Portfolio


📜 License

This project is for educational purposes only.
YouTube is a trademark of Google LLC.
InnerTube API is unofficial and may break at any time.


Built with ❤️ by Codex Skiller • Join @codex_update for latest releases

About

YouTube Clone App - Android

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages