Documentation
Multi-Device Hot Reloading
Edit once, see changes everywhere. Android runs on thousands of different screen sizes, densities, and API levels. Without multi-device broadcasting, you would have to switch the target device, rebuild, reinstall, and navigate back to the screen you were working on, for every single device. HotSwan eliminates that entire loop. Connect all your devices, save your file, and see the result on every screen at the same time. No extra configuration needed.
Overview
When you connect multiple devices, HotSwan compiles your change once and pushes the result to all selected devices in parallel. The compilation is device-agnostic, so the same DEX output works on every device with no extra build cost. Whether you have two devices or five, the reload time stays the same.
This is especially useful for:
- Responsive layout testing: See how your composable looks on a phone and tablet side by side.
- API level testing: Verify behavior on API 24 and API 34 at the same time.
- Screen size comparison: Compare compact, medium, and expanded window size classes without switching devices.
- Demo preparation: Iterate on UI changes while multiple demo devices are already connected and running.
Selecting Devices
Click the device chip in the HotSwan toolbar to open the device selector. Check the devices you want to broadcast to and close the popup. Selected devices appear as chips in the toolbar.

Click the device chip to open the selector. Check multiple devices, or use Select All to broadcast to every connected device.

Selected devices appear as chips in the toolbar. There is no limit on the number of devices you can select.
If no devices are selected, HotSwan automatically detects and broadcasts to all connected devices. You only need to use the selector if you want to exclude specific devices.
How It Works
The broadcast pipeline has three stages:
Compile Once
HotSwan compiles the changed file and extracts the modified DEX classes. This happens once regardless of how many devices are connected.
Push in Parallel
The same DEX payload is sent to all selected devices simultaneously. Each device connection runs independently, so a slow device does not block the others.
Recompose on Each Device
Each device independently swaps the classes and triggers recomposition. All devices reflect the change at roughly the same time.
Error Handling
Each device connection is independent. If one device disconnects or encounters an error, the others continue receiving hot reloads without interruption.
- Per-device reconnection: If a device disconnects, HotSwan attempts to reconnect it independently with exponential backoff. Other devices are not affected.
- Partial success: If the reload succeeds on some devices but fails on others, the console shows which devices succeeded and which failed.
- Full rebuild: If any device reports that a full rebuild is needed, the rebuild and reinstall is applied to all connected devices.
Tips
- All devices must be running the same debug build of your app. If one device has a stale APK, HotSwan will detect it and trigger a rebuild.
- USB and wireless devices can be mixed freely. There is no difference in behavior between connection types.
- The console log includes the device serial for each reload result, so you can identify which device had an issue.
- Screenshot snapshots capture from the first connected device. Multi-device screenshot comparison is planned for a future release.