Skip to content

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 stateHow Jugg works, Compilation orchestration, Incremental deployment, Gradle fallback and baseline rebuild
Why changing one file can still compile other filesIncremental 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 updatedIncremental 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 recoveredDirect Overlay deployment, Deployment state and recovery, Deployment self-healing, Compatibility deployment
How code is replaced and continues running in the app processIn-app Jugg Runtime, Jugg JVMTI Agent
How testing, UI evidence, and version compatibility enter the main flowAndroid Test flow, Layout dump and UI evidence, Android Studio version compatibility

To understand Jugg systematically, read these pages in order:

  1. How Jugg works: Build a complete model of one Run.
  2. Incremental compilation: Understand how different inputs produce local artifacts.
  3. Incremental deployment: Understand how artifacts take effect on the device through Apply Changes, APK update, or compatibility deployment.
  4. Deployment self-healing: Understand how existing incremental artifacts continue through retry, strategy switching, and reinstallation.
  5. 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.