How it works
This section explains how Jugg shortens the edit-run-verify cycle in everyday Android development, and how compilation artifacts, device state, and source code remain aligned across consecutive incremental Runs.
If you are completing a specific operation, start with the guides. To check which scenarios a capability supports, see core capabilities. When a failure occurs, begin with the FAQ.
Build a complete model from one Run
Jugg uses the latest full Gradle build as a trusted starting point. On later Runs, it first determines whether the current project and device can continue from that baseline, compiles the current changes and affected code, and then selects a deployment path according to artifact type. Only after deployment succeeds does the current result become the starting point for the next incremental Run.
To learn Jugg for the first time, read How Jugg works, then choose a topic below according to the question you are trying to answer.
Choose a page by question
| What do you want to understand? | Suggested reading |
|---|---|
| How a Run makes decisions, compiles, deploys, and commits state | How Jugg works, Compilation orchestration, Incremental deployment, Gradle fallback and baseline rebuild |
| Why changing one file can still compile other files | Incremental compilation, Project context, Deployment data and impact analysis |
| How classes and resources reach the device, and why the app sometimes restarts or the APK is updated | Incremental deployment, Classes and overlays in Apply Changes, APK update and installation |
| Why deployment can continue when the device is not ready, and how inconsistent state is recovered | Direct Overlay deployment, Deployment state and recovery, Deployment self-healing, Compatibility deployment |
| How code is replaced and continues running in the app process | In-app Jugg Runtime, Jugg JVMTI Agent |
| How testing, UI evidence, and version compatibility enter the main flow | Android Test flow, Layout dump and UI evidence, Android Studio version compatibility |
Recommended reading path
To understand Jugg systematically, read these pages in order:
- How Jugg works: Build a complete model of one Run.
- Incremental compilation: Understand how different inputs produce local artifacts.
- Incremental deployment: Understand how artifacts take effect on the device through Apply Changes, APK update, or compatibility deployment.
- Deployment self-healing: Understand how existing incremental artifacts continue through retry, strategy switching, and reinstallation.
- Gradle fallback and baseline rebuild: Understand when the current build baseline must be refreshed.
Use the reference when you need configuration, command, or state definitions.