Skip to content

Releases: MurShidM01/Kern

Kern v1.0.0 (build 1) - AI coding agent and rootless Linux terminal for Android

Choose a tag to compare

@MurShidM01 MurShidM01 released this 21 Oct 23:39

Kern v1.0.0 (build 1)

The first public release of Kern — an AI coding agent and a full Linux terminal that run entirely on your Android phone.

No account, no cloud, no root, and no desktop. Point it at a folder, give it an OpenAI-compatible endpoint, and ask for something.


Highlights

A real Linux on an unrooted phone. Kern bundles a SHA-256-verified proot runtime and installs a pinned Ubuntu 24.04.1 LTS rootfs on demand, so you get a genuine bash, real apt and a real toolchain. The terminal is a hand-written POSIX PTY in C driving a pure-Kotlin VT/ANSI emulator with scrollback, alternate screen buffers, 256-colour and truecolour support, and correct wide-character handling.

An agent that does the work. Twenty-nine tools across files, edits, builds, tests, Git, shell commands, dev servers, previews, plans and memory. Read-only tools run in parallel; mutating tools run in sequence behind your approval.

Nothing destructive runs silently. rm -rf, mkfs and git reset --hard always ask, every time. Permission modes (Ask changes, Auto edit, Full access) decide the rest.

Live preview. Start a dev server from the agent and Kern opens a WebView preview with a browser-style console drawer. The agent can read that console, evaluate JavaScript in the page, and capture screenshots, so it verifies its own work instead of guessing.

Your keys stay on your device. API keys are encrypted with AES-256-GCM through the Android Keystore, never stored in plain text and never logged. There is no telemetry, no account, and no Kern server.


Downloads

Pick the APK that matches your device. Every one is signed with the same key, so you can upgrade in place later.

APK Size Device Linux environment
app-arm64-v8a-release.apk 42.3 MB Most modern phones Ubuntu 24.04 via proot
app-x86_64-release.apk 42.3 MB x86_64 emulators Ubuntu 24.04 via proot
app-armeabi-v7a-release.apk 42.2 MB Older 32-bit phones Built-in device shell
app-x86-release.apk 42.2 MB x86 emulators Built-in device shell
app-universal-release.apk 42.5 MB Any of the above Ubuntu 24.04 via proot

The 32-bit builds have no proot, because the Termux runtime is only vendored for arm64-v8a and x86_64. The terminal itself is built for all four ABIs, so the device shell works everywhere. If you are unsure, take the universal APK.

Verify the download

sha256sum app-arm64-v8a-release.apk
File SHA-256
app-arm64-v8a-release.apk fe53ffab8673e68e06a756716abc8cff3f4e0e5865b8fb560af4bf392cf70a38
app-armeabi-v7a-release.apk cc22a99f58c79613df38bd1beebebb44e5e04d74bc75aa22071ae079feda41e8
app-x86-release.apk 918a40be90ff7b0e65b202212b1ae47ccb17763b6ca0187cc7c56245a89e04b8
app-x86_64-release.apk 26503e3f404e341e49f56b9e7b8d58d91b7ac8e2d2b7c01155253127382c4419
app-universal-release.apk 6c2e9f0c5a0e6cf7f985d65b709716655bc999e58e874e8c946c67f34fc85e54

Install

adb install -r app-arm64-v8a-release.apk

Or copy the APK to the phone and open it. You will need to allow installation from your file manager the first time.

Upgrade note: this release is signed with the standard Android debug keystore. The same key is used for every future version, so you can install a later release straight over this one and keep your workspaces, sessions and API keys. Uninstalling loses them.


Requirements

Android 9 (API 28) or newer
Architecture arm64-v8a, armeabi-v7a, x86 or x86_64
Storage ~45 MB for the app, plus ~375 MB if you install the Ubuntu environment
Network Only for the AI provider and the Ubuntu download

The terminal, the file explorer, the editor, the package manager and the preview all work offline. Only the agent needs a model, and you can point it at one running on your own machine.


First run

  1. Choose a workspace. Point Kern at an existing folder, or let it create one in private storage.
  2. Install Ubuntu (optional). A 65 MB SHA-256-verified download, staged and promoted atomically so a failed download never breaks a working install. The built-in shell works without it.
  3. Add an AI provider. Any OpenAI-compatible base URL and API key — OpenAI, OpenRouter, Together, Groq, a local Ollama or llama.cpp server, or your own gateway. Kern checks the connection before saving.
  4. Ask for something. Start with "explain this project" and work up from there.

Granting All files access is worth the one-time setup: with it, the file explorer, the editor, the agent and the terminal all share one real folder. Without it, Kern edits a mirrored copy and can sync it back on request.


What's in the box

  • 22 Gradle modules, 100% Jetpack Compose, no XML layouts
  • 466 unit tests across 66 suites, all passing
  • 11 colour palettes, light and dark, with Material 3 dynamic colour
  • 7 terminal themes, including a 24-bit truecolour palette
  • Works with any OpenAI-compatible model, including one hosted locally

Known limitations

  • The Ubuntu environment is not available on 32-bit devices. The proot runtime is only vendored for arm64-v8a and x86_64; the 32-bit builds fall back to the built-in device shell.
  • All files access needs Android 11 or newer. On Android 9 and 10 the terminal runs against a private mirror of the folder rather than its real path, and the grant prompt is not shown because the permission does not exist there.
  • Native Anthropic and Gemini adapters are not implemented yet. Kern ships an OpenAI-compatible adapter, so those models work today through a gateway such as OpenRouter.
  • The terminal session does not survive the app being killed. Sessions survive navigation and backgrounding, but not a process death.

Build it yourself

git clone https://github.com/MurShidM01/Kern.git
cd Kern
./gradlew assembleDebug

See CONTRIBUTING.md for the details.


License

Kern's own source is MIT. The bundled Linux runtime keeps its own license: proot under GPL-2.0, libtalloc under LGPL-3.0, and libandroid-shmem under MIT. The full texts ship inside the app under assets/terminal/licenses/.


Found a bug? Open an issue. Contributions are welcome — see CONTRIBUTING.md.