# Cosmic IDE: a Linux-backed IDE for Android phones and DeX

> Cosmic IDE runs a full Arch Linux ARM environment inside an Android app, with an integrated PTY terminal, LSP-backed editors and pacman-installed toolchains. It is a serious option for JVM work on a phone, and a poor fit if you want a stable, versioned release.

**Cosmic-Ide/Cosmic-IDE** — A desktop-class, general-purpose IDE for Android, powered by a full Linux environment.

- Repository: https://github.com/Cosmic-Ide/Cosmic-IDE
- Stars: 746 · Forks: 105
- Language: Kotlin
- License: GPL-3.0
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/cosmic-ide-cosmic-ide

## What Cosmic IDE solves on an Android device

Most Android code editors stop at syntax highlighting and a file tree. They can open a Gradle project, but they cannot run the compiler, resolve a dependency from a remote repository, or start a language server that needs a JVM. Cosmic IDE takes the other route: it hosts a Linux userspace inside the app sandbox. The README describes it as a runtime that hosts genuine compilers, build systems and language servers, and the top-level repository layout backs that up with separate modules for the IDE core, the plugin API and the plugin runtime.

The intended user is someone who already works with Gradle, Maven, Cargo or a language server on a desktop and wants the same loop on a phone, a tablet, or an Android desktop mode such as Samsung DeX. The README explicitly lists DeX under its responsive UI claims. That is a narrower audience than "mobile coding app". If your work is a single Python script, the Linux environment is overhead you will still pay for in download size and first-run setup.

## The Linux environment, PTY terminal and plugin layers

The architecture has three visible pieces. The first is an app-private Linux environment described as compatible with Arch Linux ARM. Tools come from the official Arch Linux ARM repositories through pacman, so the set of available compilers is not fixed by the app. The second is the terminal: the README calls it a full-featured PTY terminal, which means interactive programs behave normally rather than being wrapped in a fake shell.

The third is the plugin system. Language support is not compiled into the app. The repository separates plugin-api and plugin-runtime from the main app module, and the README says support for languages and build tools can be added or updated independently, with a Plugin Marketplace inside the app. The screenshots name concrete servers: Metals for Scala, JDT LS for Java, rust-analyzer for Rust, clangd for C and C++, and LuaLS for Lua. That is a real architectural commitment, because a language server is a long-running process that needs a working runtime underneath it, not just an editor widget.

The trade-off is memory. A JVM language server plus a Gradle daemon plus a terminal session is a heavy stack for a phone. The README does not publish minimum RAM or storage figures, and it does not describe how the app handles Android background process limits when a build runs while the screen is off.

## Installing Cosmic IDE and running a first Gradle build

The project does not ship through Google Play. The Quick Start section points at a nightly APK built by the Android CI workflow, and the download link in the README targets the arm64-v8a artifact. That means 64-bit ARM devices; the README gives no other ABI. The README names the artifact as app-arm64-v8a.zip and links it from the nightly.link download page.

After installing, the second step is the guided bootstrap, which the README says installs a JDK and the base Linux environment. Do not skip it: without the JDK, Gradle tasks and JVM language servers have nothing to run on. The third step is creating a project or cloning a repository, both of which are presented as first-class entry points.

Once a project is open, builds run as tasks with output shown in an integrated tool window. The README's Scala example shows a Gradle build completing in the terminal panel, and the Java example shows completion working while a Gradle application is running. For a JVM project, the sequence is: open the repository, let the plugin install the relevant language server, then run the Gradle task from the tool window rather than from a separate terminal tab.

The README states that CLI tools, compilers and utilities are installed from Arch Linux ARM using pacman, and that Git workflows such as cloning, branching, committing and syncing are built in. The README does not document rollback, so treat the bootstrap as one-way unless you are prepared to clear app data. It also does not state whether pacman needs elevated privileges inside the app-private environment.

## Where Cosmic IDE is the wrong tool

The release history is the first limitation. The most recent tagged releases are v2.0.3 on 2023-10-05, v2.0.2 on 2023-10-03 and v2.0.1 on 2023-09-25. The repository's last push was on 2026-08-21, so development has continued well past those tags. Anyone who needs a versioned, reproducible build is looking at a tag that is years behind the branch the nightly APK is built from. The README offers no stable channel, no checksum list and no upgrade path between nightly builds.

Second, the Arch Linux ARM base is a rolling model. Package updates arrive continuously, and the README does not describe a snapshot or pinning mechanism. A toolchain that works today can change after a pacman upgrade, and there is no documented way to hold a working set.

Third, the app-private storage model is a boundary. The README says projects live in app-private storage or in shared storage reached through Android's Document Picker. That is fine for cloning a repository, but it is awkward if your build expects to reach a path outside those two locations. And if your target is iOS, a browser, or a CI runner, none of this applies at all: Cosmic IDE is an Android application, and the Linux environment exists to serve the editor on that device.

## Cosmic IDE compared with Termux plus a separate editor

The closest alternative is running a Linux environment through Termux and pairing it with a standalone editor or an LSP client. The difference is integration. In the Termux approach you assemble the pieces yourself: the package manager, the language server, the editor, and the wiring that lets the editor talk to the server. Cosmic IDE ships that wiring as the product, with the plugin API and plugin runtime as repository modules and a Plugin Marketplace in the app for installing language support.

What you give up is control. Termux exposes the Linux side directly and lets you script the whole environment, including the version of every package. Cosmic IDE manages the environment for you, and its documentation is thinner about what happens underneath. The README describes the Linux environment as app-private and compatible with Arch Linux ARM, but it does not document the bootstrap steps in detail or explain how to inspect the environment from outside the app.

A second alternative is a remote development setup, where the phone is a thin client to a machine that does the compiling. That avoids the memory ceiling entirely and keeps a single toolchain for every device you use. Cosmic IDE's answer is local execution, which is the point: it works without a second machine, and it costs you the resources of the phone.

## Licence, maintenance and what upgrading costs you

Cosmic IDE is licensed under GPL-3.0. If you fork it or ship a modified version, the copyleft terms apply to the distributed result; if you only use the app, the licence mainly matters for whether you can accept its terms at all. The README also links an Open Collective page for support, which is funding, not a commercial support contract. Nothing in the repository suggests a paid tier or an SLA.

On maintenance, the last push was on 2026-08-21, so the code is recent, but the release tags are not. The practical upgrade cost is that you rebuild your environment from the nightly APK each time, and you re-run the bootstrap if the app data is cleared. The README does not document an in-app updater, so plan on manual installs. If you keep a project in app-private storage, back it up through the Document Picker path before replacing the APK.

## What to check before you rely on it

Verify the device first. The nightly artifact named in the README is arm64-v8a, so an older 32-bit device is out. Check that your Android version and your keyboard setup match what the guided bootstrap expects, and confirm that pacman can reach the Arch Linux ARM repositories over your network, because the bootstrap depends on that reachability.

Then verify the project shape. Open a repository you already build on a desktop and run one Gradle task end to end before you move real work onto the device. If the language server you need is not in the Plugin Marketplace, check the plugin-architecture document to see what writing one involves, since the plugin API is a published surface in this repository.

Finally, decide how you will handle the version gap. The nightly APK is the current artifact; the newest tag is v2.0.3. If your workflow needs a pinned build, this project does not currently give you one, and that is the constraint to design around rather than the feature list.

## Conclusion

Adopt Cosmic IDE if you want a real Linux toolchain on an Android tablet or a DeX setup and you are willing to track the nightly APK. Skip it if you need a versioned, long-term-supported release, since the newest tagged release is v2.0.3 from 2023-10-05 while the code keeps moving. Before committing, install the nightly build, run the guided bootstrap, and confirm that pacman can reach the Arch Linux ARM repositories from your network.

## FAQ

### What is the best IDE for Android development?

Cosmic IDE targets development on an Android device itself, not building Android apps on a desktop. It provides an editor, an integrated PTY terminal and a Linux environment compatible with Arch Linux ARM, with Gradle and Maven tasks run in integrated tool windows.

### What does IDE stand for?

The term is not expanded in the README, which describes Cosmic IDE as a modular development environment for Android that lets you edit, build and run projects. The name itself is used throughout as the project's own branding.

### Which is the best IDE for coding?

The README does not rank IDEs. It lists the languages and tools Cosmic IDE supports directly: Java, Kotlin, Scala, Gradle and Maven on the JVM stack, plus Rust, C/C++, Go, Gleam, Python and Lua, with language support installed from the in-app Plugin Marketplace.

## Sources

- [Cosmic-Ide/Cosmic-IDE on GitHub](https://github.com/Cosmic-Ide/Cosmic-IDE)
- [Issues](https://github.com/Cosmic-Ide/Cosmic-IDE/issues)
- [License: GPL-3.0](https://github.com/Cosmic-Ide/Cosmic-IDE/blob/main/LICENSE)
- [README](https://github.com/Cosmic-Ide/Cosmic-IDE/blob/main/README.md)
- [Releases](https://github.com/Cosmic-Ide/Cosmic-IDE/releases)

---

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