-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the comprehensive documentation for Local YouTube Downloader Android! This wiki provides everything you need to know about using, developing, and contributing to the project.
- Quick Start - Get up and running in 5 minutes
- Installation Guide - Complete setup instructions
- User Guide - How to use the app
- FAQ - Frequently asked questions
- Troubleshooting - Complete troubleshooting guide
- Development Setup - Setup development environment
- Architecture Overview - Technical documentation
- API Reference - Complete API documentation
- Contributing Guide - How to contribute
| Section | Description |
|---|---|
| Quick Start | Get started in 5 minutes - essential first steps |
| Installation Guide | Complete installation and setup instructions |
| Section | Description |
|---|---|
| User Guide | Complete user manual with step-by-step instructions |
| FAQ | Frequently asked questions and quick answers |
| Troubleshooting | Comprehensive problem-solving guide |
| Section | Description |
|---|---|
| Development Setup | Complete development environment setup |
| Testing Guide | Unit tests, integration tests, and manual testing |
| Contributing Guide | Guidelines for contributors and developers |
| Section | Description |
|---|---|
| Download Engine | How the download system works internally |
| File Management | File storage, organization, and access system |
| Error Handling | Error management and fallback strategies |
| Architecture Overview | Technical architecture and design patterns |
| API Reference | Complete API documentation with examples |
| Section | Description |
|---|---|
| Performance Tips | Optimization tips for users and developers |
| Section | Description |
|---|---|
| Android Compatibility | Android version and device compatibility |
| Permissions Guide | Complete permissions documentation |
| Storage Management | Storage locations, cleanup, and optimization |
Local YouTube Downloader Android is a powerful, user-friendly application that allows you to download YouTube videos and audio directly to your Android device. Built with modern Android development practices, it offers:
- 🎥 Video Downloads - Download YouTube videos in various formats (MP4, WebM)
- 🎵 Audio Extraction - Extract audio as MP3, M4A, or other formats
- 📱 Modern UI - Clean, intuitive interface built with Jetpack Compose
- 🔄 Smart Fallbacks - Automatic format fallback for maximum compatibility
- 📊 Progress Tracking - Real-time download progress with detailed status
- 🗂️ File Management - Organized storage with easy file access
- 🛡️ Error Handling - Robust error handling with user-friendly messages
- ⚡ Performance Optimized - Efficient memory usage and fast downloads
- 🔐 Privacy Focused - No data collection, fully local processing
- Architecture: MVVM + Clean Architecture
- UI Framework: Jetpack Compose with Material 3
- Language: Kotlin 100%
- Minimum SDK: Android 7.0 (API 24)
- Target SDK: Android 14 (API 34)
- Download Engine: yt-dlp + FFmpeg integration
- Storage: Scoped storage compatible
- Testing: Comprehensive unit and integration tests
-
Install the App
- Download from Releases
- Or build from source following the Installation Guide
-
First Download
- Open the app
- Paste a YouTube URL
- Select format (MP4/MP3)
- Tap Download
-
Access Files
- Files saved to
Downloads/YTMP3Downloads/ - Tap "Open File" after download completes
- Files saved to
For detailed instructions, see the Quick Start Guide.
This wiki is organized into several main sections:
Perfect for end users who want to use the app effectively:
- Quick Start - Get running in 5 minutes
- Installation Guide - Complete setup procedures
- User Guide - Step-by-step usage instructions
- Troubleshooting - Comprehensive problem solving
- FAQ - Quick answers to common questions
Ideal for developers who want to understand, modify, or contribute to the project:
- Development Setup - Development environment setup
- Architecture Overview - Technical architecture details
- Download Engine - Core download system documentation
- API Reference - Complete API reference and examples
- Testing Guide - Testing strategies and implementation
- Contributing Guide - Contribution guidelines
Comprehensive reference materials:
- File Management - Storage system documentation
- Error Handling - Error management strategies
- Performance Tips - Optimization guidelines
- Android Compatibility - Platform compatibility
- Permissions Guide - Permissions documentation
- Storage Management - Storage optimization
- ✅ Enhanced Error Handling - Better error messages and recovery options
- ✅ Improved File Management - Smart storage location selection
- ✅ Performance Optimizations - Faster downloads and better memory usage
- ✅ UI Improvements - More intuitive interface and better accessibility
- ✅ Comprehensive Testing - Full test coverage for reliability
- ✅ Advanced Troubleshooting - Detailed problem-solving guides
- 🔄 Batch Downloads - Download multiple videos at once
- 📱 Playlist Support - Download entire playlists
- 🎨 Themes - Customizable app themes
- 🔔 Advanced Notifications - Better download progress notifications
- 🌐 Multi-language Support - Localization for global users
- ⭐ Star the Repository - Show your support
- 🐛 Report Issues - Help improve the app
- 💡 Suggest Features - Share your ideas
- 🔧 Contribute Code - Submit pull requests
- 📖 Improve Documentation - Help others learn
- 🧪 Test Beta Versions - Help with quality assurance
- GitHub Issues - Bug reports and feature requests
- Discussions - General questions and community support
- Wiki - Comprehensive documentation (you're here!)
- Pull Requests - Code contributions and improvements
# Clone repository
git clone https://github.com/yourusername/Local-Youtube-Downloader-Android.git
# Build debug APK
./gradlew assembleDebug
# Run tests
./gradlew test
# Install on device
./gradlew installDebug
# Run instrumentation tests
./gradlew connectedAndroidTestapp/src/main/java/com/irnhakim/ytmp3/
├── ui/ # User interface components (Jetpack Compose)
├── viewmodel/ # ViewModels for UI logic
├── repository/ # Data layer and business logic
├── service/ # Background services and YouTube integration
├── utils/ # Utility functions and helpers
└── data/ # Data models and classes
-
MainActivity.kt- Main app entry point -
DownloadScreen.kt- Primary user interface -
DownloadViewModel.kt- Download logic coordination -
DownloadRepository.kt- Core download functionality -
YouTubeExtractorService.kt- YouTube integration -
FileUtils.kt- File management utilities
- Quick Start - Get up and running immediately
- Installation Guide - Complete setup if needed
- User Guide - Learn all features and capabilities
- FAQ - Find answers to common questions
- Troubleshooting - Solve any issues that arise
- Development Setup - Set up your development environment
- Architecture Overview - Understand the codebase structure
- Download Engine - Learn how downloads work
- API Reference - Explore implementation details
- Testing Guide - Learn testing strategies
- Contributing Guide - Start contributing
- Contributing Guide - Review contribution guidelines
- Check existing Issues
- Architecture Overview - Understand the design
- Development Setup - Set up your environment
- Testing Guide - Learn testing requirements
- Submit your first pull request!
- Android Compatibility - Check device compatibility
- Permissions Guide - Understand permission requirements
- Storage Management - Plan storage requirements
- Performance Tips - Optimize for your environment
- 🆕 First time user? → Quick Start
- 🔧 Setting up development? → Development Setup
- ❌ Having problems? → Troubleshooting
- ❓ Quick question? → FAQ
- 🏗️ Want to understand the code? → Architecture Overview
- ⚡ Need better performance? → Performance Tips
- 📱 Device compatibility issues? → Android Compatibility
- 👤 End User → Quick Start, User Guide, FAQ
- 🔧 Developer → Development Setup, Architecture Overview, API Reference
- 🧪 Tester → Testing Guide, Troubleshooting
- 📖 Contributor → Contributing Guide, Development Setup
Welcome to the Local YouTube Downloader Android community! 🎉
Whether you're here to use the app, contribute to development, or just learn about Android development, we're glad you're here. This wiki contains everything you need to get started and become productive quickly.
Need help? Start with Quick Start for immediate assistance, check the FAQ for common questions, or dive into Troubleshooting for comprehensive problem-solving.
Want to contribute? Read the Contributing Guide and Development Setup to join our community of developers!
Looking for specific information? Use the search function or browse by category above to find exactly what you need.