Modern DevOps automation for Android apps. Build, version, and deploy with a single command.
- 🚀 One-Line Installation — Install in seconds on any platform
- 🏗️ Android Build Automation — AAB/APK builds with signing support
- 📦 Google Play Deployment — Direct upload to Play Console with track management
- 🔥 Firebase Distribution — Deploy to testers instantly
- 🔢 Version Management — Automatic semantic versioning
- 📝 Changelog Generation — Auto-generated from git commits
- 🎯 Multi-Flavor Support — Build and deploy multiple variants
- 🤖 Setup Wizard — Interactive configuration in minutes
- ⚡ Fast & Reliable — Built with Kotlin, no Ruby dependencies
macOS / Linux:
curl -sSL https://raw.githubusercontent.com/AhmedNader65/MobileCtl/master/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/AhmedNader65/MobileCtl/master/install.ps1 | iexcd your-android-project
mobilectl setupThe interactive wizard will guide you through configuration in 8 steps.
# Deploy to Firebase
mobilectl deploy firebase
# Deploy to Google Play Console
mobilectl deploy playstore
# Deploy all variants
mobilectl deploy --all-variantsAndroid:
- ✅ AAB/APK builds with signing
- ✅ Multi-flavor builds
- ✅ Firebase App Distribution
- ✅ Google Play Console (Internal, Alpha, Beta, Production)
- ✅ Local filesystem deployment
- ✅ Automatic version bumping
- ✅ Changelog generation
General:
- ✅ Setup wizard
- ✅ Version management
- ✅ Git-based changelog
- ✅ CI/CD workflow generation
- 🔜 iOS builds (Xcode)
- 🔜 TestFlight deployment
- 🔜 App Store deployment
- 🔜 Notifications (Slack, Email)
- 🔜 Release notes automation
Full documentation: https://ahmednader65.github.io/MobileCtl/
# Setup
mobilectl setup # Interactive setup wizard
mobilectl info # Show project info
# Build
mobilectl build # Build release APK/AAB
mobilectl build --flavor production # Build specific flavor
# Deploy
mobilectl deploy firebase # Deploy to Firebase
mobilectl deploy playstore # Deploy to Play Console
mobilectl deploy --all-variants # Deploy all flavors
# Version
mobilectl version bump patch # Bump patch version (1.0.0 → 1.0.1)
mobilectl version bump minor # Bump minor version (1.0.0 → 1.1.0)
mobilectl version bump major # Bump major version (1.0.0 → 2.0.0)
# Changelog
mobilectl changelog generate # Generate changelog from commitsCreate mobileops.yaml in your project root (or use mobilectl setup):
app:
name: MyApp
identifier: com.example.myapp
version: 1.0.0
build:
android:
enabled: true
flavors:
- production
- staging
defaultFlavor: production
keyStore: release.jks
keyAlias: release-key
deploy:
android:
firebase:
enabled: true
serviceAccount: credentials/firebase-service-account.json
testGroups:
- qa-team
- beta-testers
playConsole:
enabled: true
serviceAccount: credentials/play-console-service-account.json
track: internal
status: draft
version:
enabled: true
autoIncrement: true
bumpStrategy: patch📖 Full Configuration Reference
For Android:
- JDK 11 or later
- Android SDK with build tools
- Gradle 7.0+
For Deployment:
- Firebase: Service account JSON
- Google Play: Service account JSON with Play Console access
# 1. Setup project
cd my-android-app
mobilectl setup
# 2. Build and test
mobilectl build
# 3. Bump version
mobilectl version bump minor
# 4. Generate changelog
mobilectl changelog generate
# 5. Deploy to testers
mobilectl deploy firebase
# 6. Deploy to Play Console
mobilectl deploy playstore --track internalContributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details.
If mobilectl helps your workflow, please give it a star ⭐
Made with ❤️ for Android developers
📦 Latest Release | 📖 Documentation | 🐛 Report Issue