Project Myriad - APK Build Workflows
Project Myriad - APK Build Workflows
This document describes the comprehensive APK build workflows for Project Myriad, now that all phases 1-6 of development have been completed. These workflows provide flexible options for building, testing, and distributing the completed manga and anime platform application.
π― Project Completion Status
Project Myriad has successfully completed all development phases:
- β Enhanced Reader: Complete manga reading experience with advanced features
- β AI Integration: OCR translation, art style analysis, and intelligent recommendations
- β Download Manager: Comprehensive content download and management system
- β Full Navigation: Complete app navigation with all screens implemented
- β Vault System: Local media management for .cbz/.cbr manga and video files
- β Modern Architecture: Kotlin 2.2.20, Jetpack Compose, Clean Architecture
π§ Available APK Build Workflows
π Security Features
Both workflows implement security best practices:
- Pinned Actions: All third-party actions pinned to specific commit SHAs to prevent supply chain attacks
- Minimal Permissions: Each workflow only requests necessary permissions
- Secure Artifact Handling: Safe artifact upload and retention policies
- Build Isolation: Separate job environments for enhanced security
1. Build APK (build-apk.yml)
Comprehensive APK building workflow for the completed application:
- Triggers: Push/PR to main/develop, manual dispatch
- Features:
- Configurable build types (debug, staging, release)
- Optional Android App Bundle (AAB) generation
- Build validation and verification
- Automatic compilation error handling
- Comprehensive artifact uploads
- Build status reporting
Manual Usage:
# Go to Actions β Build APK β Run workflow
# Select:
# - Build type: debug/staging/release
# - Create bundle: true/false
# - Upload artifacts: true/false
# - Skip build errors: true/false (for rapid iteration)
2. Quick APK Build (quick-apk-build.yml)
Fast APK builds optimized for testing the completed application:
- Triggers: Manual dispatch only
- Features:
- Fast debug APK builds (15-20 minutes)
- Automatic compilation error fixes
- Optional version suffix for testing
- Direct GitHub release creation
- Optimized for rapid iteration
Manual Usage:
# Go to Actions β Quick APK Build β Run workflow
# Options:
# - Version suffix: -hotfix, -experimental, etc.
# - Upload to release: create GitHub release with APK
# - Fix compilation: automatically resolve common build issues
π± Build Types & Outputs
Debug Builds
- Purpose: Development and testing of completed features
- Features:
- Debug symbols included
- All logging enabled
- No code obfuscation
- Faster build times
- Expected Size: ~25-30MB (complete application)
- Signing: Debug keystore (automatic)
Staging Builds
- Purpose: Pre-production testing of complete app
- Features:
- Production-like configuration
- Limited logging
- No obfuscation
- Analytics disabled
- Expected Size: ~22-28MB
- Signing: Requires release keystore
Release Builds
- Purpose: Production distribution of completed app
- Features:
- Code minification and obfuscation
- Optimized resources
- Analytics enabled
- Crash reporting
- Expected Size: ~18-25MB (optimized)
- Signing: Requires release keystore
ποΈ Build Outputs
APK Files
app/build/outputs/apk/
βββ debug/
β βββ app-debug.apk # Debug APK (~28MB)
β βββ output-metadata.json # Build metadata
βββ staging/
β βββ app-staging.apk # Staging APK (~25MB)
β βββ output-metadata.json
βββ release/
βββ app-release.apk # Release APK (~22MB)
βββ output-metadata.json
Android App Bundles
app/build/outputs/bundle/
βββ debug/
β βββ app-debug.aab # Debug AAB
βββ staging/
β βββ app-staging.aab # Staging AAB
βββ release/
βββ app-release.aab # Release AAB (for Play Store)
π§ Build Features & Handling
Automatic Error Handling
The workflows include intelligent error handling for the completed application:
- Icon Resolution: Automatically fixes missing Material Icon references
- Import Management: Resolves common import issues
- Type Compatibility: Handles ViewModel and component type mismatches
- Compilation Tolerance: Can build despite minor compilation warnings
Build Validation
- APK Verification: Confirms successful APK creation and sizing
- Metadata Generation: Creates comprehensive build information
- Artifact Management: Organized uploads with proper retention
- Status Reporting: Detailed build summaries and next steps
π Quick Start Guide
1. Build Debug APK of Complete App
# Local build
./gradlew assembleDebug
# GitHub Actions - Quick Build
Actions β Quick APK Build β Run workflow β Build
2. Build Complete App with Bundle
# Local build
./gradlew assembleDebug bundleDebug
# GitHub Actions - Full Build
Actions β Build APK β Run workflow β Select "Create bundle: true"
3. Create Release for Testing
# GitHub Actions - Quick Build with Release
Actions β Quick APK Build β Run workflow β Enable "Upload to release"
π Workflow Comparison
| Feature | Build APK | Quick APK Build |
|---|---|---|
| Purpose | Comprehensive builds | Fast iteration |
| Build Time | 25-35 minutes | 15-20 minutes |
| Error Handling | Advanced validation | Auto-fix compilation |
| Build Types | Debug/Staging/Release | Debug only |
| AAB Generation | β Optional | β |
| GitHub Releases | β | β Optional |
| Artifact Upload | β Always | β Always |
| Best For | Final testing, releases | Development, hotfixes |
π§ Configuration
Version Management
Current app version in app/build.gradle.kts:
defaultConfig {
versionCode = 2 // Increment for each release
versionName = "1.0.1" // Current stable version
}
Build Optimization
The workflows are optimized for the completed application:
- Memory: 6GB heap for large project compilation
- Caching: Comprehensive Gradle dependency caching
- Parallelization: Multi-module build optimization
- Error Recovery: Graceful handling of minor compilation issues
π Build Monitoring
Artifact Retention
- APKs/AABs: 30 days (production testing)
- Build Reports: 7 days (debugging)
- Quick Builds: 30 days (extended testing)
Build Status Tracking
- GitHub Actions: Real-time build monitoring
- Artifacts: Automatic upload with metadata
- Releases: Optional GitHub release creation
- Summaries: Detailed completion reports
π Troubleshooting
Common Build Issues
Compilation Errors
The workflows include automatic fixes for common issues:
- Missing Material Icons β Replaced with available alternatives
- Import conflicts β Automatic import resolution
- Type mismatches β ViewModel type corrections
Memory Issues
# Increase heap size for local builds
export GRADLE_OPTS="-Xmx6g -XX:MaxMetaspaceSize=512m"
./gradlew assembleDebug
Build Performance
- Use Quick APK Build for rapid iteration
- Enable βskip_build_errorsβ for development builds
- Leverage Gradle cache for subsequent builds
π Success Indicators
β
APK builds successfully with all completed features
β
Size appropriate for complete application (~25-30MB debug)
β
All features accessible in built APK
β
Navigation working across all implemented screens
β
AI features functional in production builds
β
Download manager operational for content management
π± Testing the Complete Application
After building, test these completed features:
- Enhanced Reader: Manga reading with all advanced features
- AI Integration: Translation and recommendation features
- Download Manager: Content download and management
- Navigation: All screens and navigation flows
- Vault System: Local media file management
- Settings: All configuration options
π Related Documentation
- ROADMAP.md - Complete project development phases
- DEVELOPMENT.md - Development environment setup
- RELEASE_BUILD_GUIDE.md - Production release process
- AUTOMATED_WORKFLOW.md - Complete CI/CD documentation
Project Myriad - The Definitive Manga and Anime Platform - All Phases Complete! π―
This documentation covers the APK build workflows for the completed Project Myriad application. All major features have been implemented and the app is ready for comprehensive testing and distribution.