Get started
Jugg is an Android Studio plugin designed for fast incremental compilation and instant hot reload, dramatically cutting down the time spent waiting for full Gradle builds during everyday development. It does not require modifying project code or build.gradle scripts, nor does it require any SDK integration. Simply select the Jugg Run Configuration and click Run in Android Studio—small code and resource changes typically become visible on your connected test device within 3 seconds.
The Jugg Run Configuration and the native App Run Configuration coexist independently. Whenever you need standard Gradle builds, simply switch back to the native App configuration in the run selector—the two flows are completely decoupled.
Development efficiency comparison
| Dimension | Native Android Studio (Gradle Run) | Jugg Bypass Incremental Build |
|---|---|---|
| Feedback latency | Typically 1–3 minutes (longer for large codebases) | Typically 1–3 seconds |
| Build mechanism | Executes full Gradle task graph | Bypasses Gradle, reuses baseline build outputs |
| Intrusiveness | Depends on Gradle build scripts | Zero intrusiveness: no Gradle edits, no SDK |
| Safety fallback | None | Automatic Gradle fallback when changes exceed incremental scope |
Quick start in 2 steps
Getting started with Jugg takes just two steps:
- Install Jugg plugin: Download the
.ziparchive, install it from disk in Android Studio, and confirm thatjugg:appis generated in the run configuration dropdown. - First run and establish baseline: Select the Jugg configuration and click Run once to capture Gradle build outputs and establish an incremental baseline.
TIP
If you have installed the Jugg CLI, you can also trigger incremental compilation and deployment directly from your terminal:
jugg deployCapabilities and packaging navigation
Explore how Jugg works in different scenarios:
| Topic | Description | Page |
|---|---|---|
| Everyday development | Running and hot-reloading after changing Java/Kotlin/XML code | Run the app |
| Supported packaging | Support for AabResGuard, Dynamic Features, release obfuscation, etc. | Supported packaging methods |
| Incremental compilation internals | Class impact analysis and D8 incremental dex pipelines | Incremental compilation overview |
| Fallback boundaries & limits | Scenarios that trigger automatic fallback to full Gradle | Limits |
| Remote build acceleration | Offloading compilation workloads to dedicated remote Linux machines | Remote Gradle |
When something goes wrong
Quickly diagnose issues by symptom without reading through all docs:
- Compilation errors (source, resource, or generated code errors): See Compilation failed.
- Changes not applied (run succeeded but device shows old code): See Changes not applied.
- App cannot run (installation, launch, or debugger connection failed): See App cannot run.
- Runtime crashes (app crashes immediately after deployment): See Runtime crash.
- Diagnostic reports: Use Report an issue to export diagnostics and attach an Issue ID.
Next steps
Now that you understand the core workflow, install the plugin: