# Jetpack Compose Hot Reload on Real Android Devices: Reduce the Build Time to Seconds

DevFeed: [Jetpack Compose Hot Reload on Real Android Devices: Reduce the Build Time to Seconds](<https://devfeed.tech/articles/jetpack-compose-hot-reload-on-real-android-devices-reduce-the-build-time-to-seconds-25923.md>)

Original publisher: [Read original article](<https://proandroiddev.com/jetpack-compose-hot-reload-on-real-android-devices-with-compose-hotswan-2f5dfccd55bf?source=rss-9bb203a4ab2e------2>)

Author: Jaewoong Eum

Published: 2026-03-31T02:51:42Z

Content type: article

Language: en

Sources: [Stories by Jaewoong Eum on Medium](<https://devfeed.tech/sources/stories-by-jaewoong-eum-on-medium.md>)

Topics: [compose-hot-reload](<https://devfeed.tech/topics/compose-hot-reload.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [build performance](<https://devfeed.tech/topics/build-performance.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [build](<https://devfeed.tech/tags/build.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-hot-reload](<https://devfeed.tech/tags/compose-hot-reload.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [development](<https://devfeed.tech/tags/development.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [hot-reloading](<https://devfeed.tech/tags/hot-reloading.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [state](<https://devfeed.tech/tags/state.md>)

## AI overview

This article introduces Compose HotSwan, a JetBrains IDE plugin for Android Studio and IntelliJ combined with a Gradle compiler plugin. It describes hot reloading Jetpack Compose code changes on physical Android devices and emulators in one to three seconds while preserving app state as much as possible, and explains the engineering constraints and capabilities involved.

## Source excerpt

Upsplash@lenaborge In Jetpack Compose development, you are probably rebuilding your app tens of times per day to adjust the subtle design specifications. Each rebuild takes anywhere from 1 min to several minutes (~30 mins depending on your project scale), followed by navigating back to the screen you were working on and reconstructing the state you just lost for fair self-testing. Let's be honest. That adds up to one to two hours of dead time per day, every day, spent waiting instead of iterating. Well, for some, it's the perfect coffee break. For others, it's a frustrating blocker that slows everything down. That's exactly the problem Compose HotSwan is built to solve. Compose HotSwan is a JetBrains IDE plugin for Android Studio/IntelliJ and a Gradle compiler plugin that performs Jetpack Compose hot reload on real physical Android devices/emulators, applying code changes to a running app in one to three seconds with full state preservation as possible. In this article, you will explore what you can do with Compose HotSwan, the engineering constraints that make hot reload on Android difficult, how Compose HotSwan works within those constraints, and its core capabilities. The build tax: What slow feedback actually costs you Every Android developer knows the routine. You tweak a modifier, hit run, and wait. The build compiles, dexes, installs, and restarts your app. It launches from the home screen. You tap through multiple screens, scroll to the right position, and recreate the state just to see a one-line change. This is not just an inconvenience. It changes how you make decisions, and the cost compounds throughout your day. Picture this. You are working on a screen buried several layers deep. Everything is set up exactly where you need it. You change fontSize = 16.sp to 18.sp. Gradle starts building. On a small project, it takes a minute. On a large codebase, it takes much longer. The app reinstalls and restarts from the "home screen". All your state is gone. Now y