Skip to content

Deployment capabilities

Jugg deployment capabilities apply APKs, DEX, resource overlays, Manifest changes, .so files, runtime agents, and other compilation artifacts to target devices. Jugg selects install, Apply Changes, restart, Direct Overlay, or recover/retry according to artifact type, device state, and historical checkpoints.

Capability overview

Deployment strategies

CapabilityCurrent supportTypical result
Clean ReinstallSupports reinstallation and optional app-data cleanupRe-establishes the APK, deployment history, and overlay baseline
Code SwapSupports method-body-level class updates that can be replaced onlineKeeps the app process running; regular non-empty deployments usually recreate the Activity
Full SwapSupports Apply Changes that must restart the ActivityRestarts the current Activity after updating code or overlays
Hot ReloadSupports online incremental overlay and class updatesKeeps the app running and restarts only the Activity when needed
RestartSupports restarting the app based on deployment results or user choiceLets hot fixes, agents, or debugging changes take effect

State recovery and complex targets

CapabilityCurrent supportTypical result
Direct OverlaySupports writing overlays directly when the device is not readyCompletes overlay updates without the online Apply Changes transport
Recover and RetrySupports state recovery, compatible deployment, and failure retriesAvoids continuing hot updates from an inconsistent baseline
Multiple APKsSupports routing ownership for base, split, test, and other APKsDelivers artifacts to the correct APK/applicationId in the same run
Multiple devicesSupports deployment to each selected deviceAggregates success state and failure fallback eligibility
Deployment history and cacheMaintains Jugg history and the Android Studio deployment cacheDetermines whether an overlay checkpoint is trustworthy
JVMTI RuntimePrepares the Jugg agent after deployment and detects compatibilitySupports compatible deployment, runtime instrumentation, and later tool capabilities

IMPORTANT

The deployment strategy depends on both the current compilation result and device state. A successful Gradle compilation proceeds to install. A successful Jugg incremental compilation proceeds to incremental deployment; failures enter recover, retry, or Gradle fallback according to failure type.

How the deployment flow fits together

text
Run starts
  -> Collect artifacts for the current deployment
  -> Generate deployment data
  -> Choose install / Hot Reload / Hot Fix / Full Swap
  -> Route by device and APK ownership
  -> Run install, Apply Changes, or Direct Overlay
  -> Commit deployment history and the overlay checkpoint after success

Users do not need to select a deployment type manually. Jugg chooses the strategy from class-structure changes, resource and APK updates, device readiness, overlay checkpoint consistency, and related information.