Release 1 Goals for Code on the Go

Share This Post

If you write Android apps for a living, or even if you’re just getting started, you’re probably used to a specific setup: a laptop or desktop running an integrated development environment (IDE), connected to a phone for testing. That setup works well. But it also requires hardware that many would-be developers don’t have.

Code on the Go is an Android IDE that runs entirely on an Android phone. No laptop or workstation, no USB cable, and no need for constant connection to the internet. The IDE, the build tools, and the app you’re building all build and run on the phone in your hand, even if you find yourself working offline. Our prerelease version has been available for review since October, 2025, and Release 1—our first official release—will be available on April 29, 2026.

This post covers what’s new in Release 1, with a focus on some of the most critical innovations and other new features that make Code on the Go a fully-functional IDE for developers who need (or want) to build apps using only their phone.

Kotlin as a first-class citizen

Code on the Go’s prerelease supported Java with a working language server providing real-time diagnostics, code completion suggestions, and shortcuts for common code actions, but Kotlin support was not as robust. Since Kotlin is considered to be the preferred language for Android development, we knew we needed to provide the same level of language support as we have for Java.

Code on the Go Release 1 includes Language Server Protocol (LSP) support for Kotlin, allowing the editor to understand Kotlin code as you type, rather than treating it as plain text. Developers will see real-time feedback as they code, similar to what legacy IDEs provide. This includes code completion, suggestions, error diagnostics, and code actions. All of this runs locally on the device, without relying on a remote server or workstation. Read about how we implemented and optimized the Kotlin LSP for mobile environments.

A stronger plugin system

The Code on the Go plugin system started as a small internal experiment. It’s now a key tool for allowing users to adapt the IDE to their workflow and environment. Read more about how the plugin system works

Plugins empower builders to add new programming languages, version control tools, and code quality features to Code on the Go without rebuilding the core app. App Dev for All’s initial suite of plugins includes a keystore generator, snippet management, Plugins can be developed to support languages such as Go, Rust, or Python, as well as tools for testing, coverage, or static analysis. If you want to create your own custom plugin, check out our plugin development guide. (And, if you build a useful plugin, please share it with the community!)

For a phone-based IDE, this kind of flexibility matters. Different users have different constraints, such as limited connectivity, shared devices, or classroom settings, and the plugin system makes it possible to tailor Code on the Go to meet a community’s, a classroom’s, or an individual developer’s unique requirements.

Plugins extend Code on the Go without needing to rebuild the core app

Git with a graphical user interface (UI)

Git is the standard way developers track changes and collaborate. Code on the Go already supports Git through a command-line terminal. That works well for experienced users, but it can be difficult on a small screen.

This matters more on a phone than on a desktop. Typing git commit -m "fix null pointer in login flow" on a hardware keyboard takes a few seconds, and typing it on a small touchscreen keyboard in an unforgiving CLI is additional friction. A Git UI built for touch should reduce that friction and make version control more accessible to developers who may not have command line fluency.

Release 1 introduces a graphical Git user interface that makes common tasks like viewing changes, committing, and switching branches easier to perform without relying on command-line fluency. In Code on the Go, Git works locally, with or without a server, and remotely with any Git-compatible server or Secure Socket Shell (SSH). The UI in Release 1 supports both.

Better use of tablets, monitors, and desktop mode

Code on the Go is built for phones, but not everyone will use it only on a phone. Some users have tablets. Some may have an external monitor, keyboard, and mouse connected to their Android device.

Release 1 adds a flexible layout that adjusts to available screen space. On a larger screen, the help panel and terminal window display separately from the main editor, so you can keep multiple views visible at once. Keyboard shortcuts that are impractical on a soft keyboard work when a hardware keyboard is connected. Mouse hover actions, which are not possible with a touch-only interface, are supported when a mouse is present.

On any screen size, Release 1 adds a full-screen mode that hides everything except your source code, so users can focus only on their code when screen space is limited. This is especially useful on a phone when you want to maximize the space available for editing, but likely handy even when you may have more screen space.

The design goal here is not to simply replicate other IDEs on a phone—it’s to make Code on the Go work well on whatever hardware a developer may have, from an older 32-bit phone with a small screen to a brand-new Android device connected to a large external display.

On a tablet, the terminal displays side-by-side with the IDE

A new template system

Code on the Go currently ships with ten project templates that provide working starting points for a new app, instead of building everything from scratch.

Release 1 introduces a new template system. A project template is a simple archive with metadata, documentation, and optional images. This makes it possible for teachers, teams, and non-engineers to create and share templates that provide exactly the right starting point for others who want to create similar applications that solve their unique needs.

The provided templates cover the basics, but they can’t cover the full range of use-cases where people actually build apps. For example, a classroom teaching intro programming in Java may need different starting points than a team designing a map-enabled app that helps neighbors report and fix local safety issues.

What else is new?

The release includes many other technical improvements, including:

Bottom line: we want to build the tools you actually need. If you have suggestions for future updates, please let us know in our Telegram channel or at [email protected].