# Extendroid turns Android into a desktop style multi window manager

> Extendroid puts other apps into floating popup windows you can move, resize and minimise while keeping them running, and adds a preview tab plus a beta remote access mode. It needs Android 10 or newer, Shizuku access and a popup window permission on Xiaomi, and its GPLv3 licence carries an extra restriction on distribution.

**legendsayantan/Extendroid** — Android Multi-Tasking Manager with desktop-like multi window and remote access support.

- Repository: https://github.com/legendsayantan/Extendroid
- Website: https://extendroid.pages.dev
- Stars: 714 · Forks: 24
- Language: Kotlin
- License: GPL-3.0
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/legendsayantan-extendroid

## Apps in floating windows, not split screen

Extendroid is described as an Android multi-tasking manager with desktop-like multi window support, and the feature list in the README is a list of window manager behaviours rather than of content features.

You can launch and control any app in a popup window, freely move and resize the app windows, minimise app windows but keep apps running, and see a live preview of all minimised apps. You can keep apps active with the screen off, and you can access apps remotely with Extendroid Echo, which the README marks as beta.

The distinction from Android's own multi-window support is worth making explicit, because the topic tags name floating window, multi-window, multitasking, app manager, remote access and remote desktop. What the platform gives you is a split screen or a freeform window, managed by the system, tied to the app you launched, and limited in how you arrange it. Extendroid is a window manager layer with its own control surface, a preview panel that holds minimised apps alive, and a remote access mode, which is why the project describes itself as a multi-tasking manager rather than a launcher.

The project is written in Kotlin, the homepage is extendroid.pages.dev, and the licence is GNU General Public License v3.0.

## Shizuku access is a hard requirement

The README lists three requirements and the second one shapes everything else you will do with the app. They are an Android 10 or newer device, Shizuku access, and the popup window permission on Xiaomi devices.

Shizuku is a separate application that the user installs and starts, and Extendroid depends on it being available. That dependency is the cost of the feature set. Managing a window that floats over another application, keeping that application running when the window is minimised, and drawing a live preview of it are all things an ordinary app cannot do on its own, so the project asks for a helper that carries the permissions needed. In practice this means the first run of Extendroid is not a first run of a normal app: something has to be set up outside it.

The Xiaomi requirement is a second, smaller surprise. The README asks for the popup window permission on Xiaomi devices, which is a permission those devices handle differently from stock Android, and the usage instructions tell you to open the app and finish the mentioned setups on the homepage. So the intended first session is a setup session, and the README's flow of steps assumes you are completing guided setup before anything works.

For a reader, the practical question is whether your device and your patience meet those conditions, because there is no reduced mode without Shizuku.

## The Preview tab is the control surface

The usage section describes a specific flow, and the Preview tab is the heart of it.

You download and install the APK from the repository, at `app/release/app-release.apk` on the master branch, open the app and finish the setups on the homepage, and then start the control menu from one of two places, a notification or a floating ball. From there you navigate to one of two tabs and select an app. The star tab holds recent and frequent apps, and the plus tab holds all installed apps.

The Preview tab then loads and shows the selected app, and the README lists four actions available on it. Clicking the app preview opens the app in a popup window. Long pressing on the app window takes the app fullscreen. Clicking the diamond button uses the app within the preview window, and long pressing the diamond closes the app.

That last pair is the mechanism behind the live preview feature. The preview is not a static screenshot: the app can keep running inside it, so a window you minimised is still the window you see, and closing it is a deliberate long press rather than an accidental tap.

## Gestures on the popup window

Once an app is in a popup window, the README lists the gestures that control it, and they follow a desktop window manager's conventions closely enough to be recognisable.

Dragging the top handle moves the window. Clicking the top handle reveals a set of options: Minimise, which returns the app to the preview tab, Maximise, Back and Close. Dragging from the bottom corners resizes the app window to any size or aspect ratio you like.

The minimised state is the interesting one, because of what it does not do. Minimise returns the app to the preview tab rather than killing it, the app keeps running, and the preview tab shows a live view of all minimised apps. Combined with the ability to turn the screen off with all apps active, from the three dots dropdown menu in the Preview tab, the intended use is a set of long running tasks on a phone that you can check on and dismiss without restarting them.

That is also where the trade-off lies. Keeping apps alive and reachable costs memory and battery, and the app is giving you a desktop metaphor on a device whose screen is not a desktop. The gestures are the price of admission: any small app that also wants to draw a floating window on the same device is competing for the same permission.

## Remote access is present but marked beta

One feature stands apart from the rest, because it changes what the app is for. The README lists access apps remotely with Extendroid Echo and labels it beta.

Remote access turns a phone into a window you can drive from elsewhere, and the topic tags back that up with remote access and remote desktop. The rest of the feature list is local window management, which is a familiar idea ported to Android. Remote control over a device that also holds your apps and your accounts is a different category of feature, and the README does not describe how Echo is set up, which network path it uses, or what authentication it applies.

That silence is the honest characterisation of the feature's state. A beta label with no accompanying documentation in the README means you will be learning it from the app itself, and you should treat it as something to try rather than something to depend on. For most people the value of Extendroid is the window management; Echo is the part that could surprise you.

The release tag gives a second hint about the project's shape. The most recent release listed is v1.0.5-no-mediaprojection, dated 2026-06-24, and the name of that tag suggests a build without the screen capture path, which is the kind of variant that matters if you do not want the app holding a screen capture.

## Master is a rewrite, legacy keeps the old app

The README opens with a warning that shapes how you should read everything else: in the master branch, everything was re-built from scratch, and the legacy branch holds the old version.

That single sentence explains a lot about the repository. The master branch is a young codebase rather than an incrementally maintained one, and the legacy branch exists so that people who relied on the previous version still have it. When you install from the master branch APK, you are running the rebuilt app, and any behaviour difference from what you used before is expected rather than a regression.

The repository layout matches an Android project built with Gradle and Kotlin: `app/`, `build.gradle.kts`, `settings.gradle.kts`, `gradle.properties`, the `gradle/` directory, and the wrapper scripts `gradlew` and `gradlew.bat` for Unix and Windows. There is an `.idea/` directory, a `LICENSE.txt` and the README itself. The README does not document a build command for the project, so if you want to build rather than install the release APK, the Gradle wrapper is what you have to work with, and the Android toolchain requirements are not spelled out in the documentation.

On maintenance, the repository is not archived and the last push was on 2026-09-29, with the newest release tag, v1.0.5-no-mediaprojection, from 2026-06-24.

## GPLv3 plus a distribution restriction

The README states the project is licensed under GNU General Public License v3.0, and then adds a note that is more restrictive than the licence text alone. It says you must not distribute the software, whether original or modified, to any platform without the reference to its original source code, and that publishing to any app stores without permission is forbidden.

This matters more than a standard copyleft obligation, because the app is distributed as a prebuilt APK. A user can install it on their own device, which is what the usage instructions describe, and the source is in the repository so the source reference is satisfiable. Publishing that APK to an app store is what the note prohibits, and a store listing is exactly where a modified build would want to go.

For an organisation that wants to ship an internal fork, the note is the deciding line, and it is a licence question rather than a technical one, so it belongs with whoever handles your open source compliance. The README also does not document a process for requesting that permission.

The practical reading of the whole licence position is that Extendroid is a personal tool distributed as a binary from its repository, with the source published and further distribution restricted. That is a coherent choice for a hobby project, and it is narrower than the freedoms a plain GPLv3 grant would give you.

## Conclusion

Adopt Extendroid when you want a phone to behave like a small desktop, with apps in floating windows that survive minimisation and a preview panel to jump between them, and when you are willing to grant Shizuku access and accept a beta remote access mode. Do not adopt it if you need a build you can ship to app stores, because the licence forbids publishing without permission, and do not adopt it on a device below Android 10 or without Shizuku. Verify first that the popup window permission path works on your device, especially on Xiaomi hardware, that the remote access mode does what you need given it is marked beta, and that you take the master branch rather than the legacy one, since the README states master was rebuilt from scratch.

## FAQ

### What are the requirements for Extendroid?

The README lists an Android 10 or newer device, Shizuku access, and the popup window permission on Xiaomi devices. The app also expects you to open it once and finish the setups on the homepage before the control menu works.

### How do I open an app in a popup window with Extendroid?

Start the control menu from the notification or the floating ball, pick an app from the star tab of recent and frequent apps or the plus tab of all installed apps, and click the app preview in the Preview tab to open it in a popup window. Drag the top handle to move it, and drag from the bottom corners to resize it.

### What does Extendroid Echo do?

The README lists access apps remotely with Extendroid Echo and marks it as beta. Beyond that one line, the README does not describe how the remote access mode is set up, so the feature is something to try inside the app rather than something documented in the repository.

### Can I publish Extendroid to an app store?

No. The README states that publishing to any app stores without permission is forbidden, and that you must not distribute the software, original or modified, to any platform without a reference to its original source code. The project is licensed under GNU General Public License v3.0.

## Sources

- [legendsayantan/Extendroid on GitHub](https://github.com/legendsayantan/Extendroid)
- [License: GPL-3.0](https://github.com/legendsayantan/Extendroid/blob/master/LICENSE)
- [Project website](https://extendroid.pages.dev)
- [README](https://github.com/legendsayantan/Extendroid/blob/master/README.md)
- [Releases](https://github.com/legendsayantan/Extendroid/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/legendsayantan-extendroid
