FAQ
Common questions about Compose HotSwan. Can't find what you're looking for? Ask on Discord.
Not exactly yes. Maybe... a half. The Android. If your KMP project has an Android target, you can add the HotSwan Gradle plugin to the Android module by following the Install Guide. Hot reload will work on real Android devices just like a standard Android project.
iOS is not supported. The iOS runtime architecture is fundamentally different from Android's, and there are currently no plans to support it.
For desktop targets, JetBrains already provides a dedicated hot reload solution. HotSwan focuses on Android.
Flutter and React Native control much more of their runtime, which makes hot reload easier to implement. Native Android apps run on the ART runtime, which performs aggressive optimizations and treats class structures as mostly immutable after loading. Because of that, some changes cannot be safely applied at runtime. HotSwan focuses on enabling the most common iteration workflows within those constraints. See Limitations for the full details.
No. Compose HotSwan is a 100% local plugin. The entire hot reload pipeline (compilation, class extraction, and runtime swap) runs entirely on your machine between your IDE and the connected device. No source code, project data, or personal information ever leaves your environment.
HotSwan does not make any network calls, does not include analytics or telemetry, and does not phone home. Your code stays on your machine. See the Privacy Policy for more details.
Yes. HotSwan works on both physical Android devices and emulators. Connect your device via USB or wireless debugging, and hot reload works exactly the same way. There is no difference in functionality, speed, or supported features between a physical device and an emulator.
The only requirement is that the device runs a debug build of your app (which is the default when you press Run in Android Studio) and has USB debugging enabled. See Requirements for the full list.
HotSwan is a commercial product, not open source. The source code is not publicly available. However, you can report bugs, request features, and track issues on the GitHub issue tracker. The plugin is distributed through the JetBrains Marketplace.
Because it handles a very tricky problem gracefully. Like a swan gliding on water — under the surface there is a lot of work happening, but from the developer's perspective it feels smooth. And of course, it is also a small nod to Hot Reload. Also, "HotDuck" didn't sound as good.