Keep the workspace small
Point the agent at one project at a time. A focused folder gives better results than a whole drive, and it keeps the context tight.
Walkthrough
From a fresh install to a working AI agent with a real Linux environment, in five steps. The whole thing takes about ten minutes, most of which is downloading Ubuntu.
Download the build that matches your device. If you are not sure which one to take, the universal APK works everywhere.
| Device | Download |
|---|---|
| Most modern phones | app-arm64-v8a-release.apk |
| x86_64 emulators | app-x86_64-release.apk |
| Older 32-bit phones | app-armeabi-v7a-release.apk |
| x86 emulators | app-x86-release.apk |
| Not sure | app-universal-release.apk |
With the phone connected over USB you can install it directly:
adb install -r app-arm64-v8a-release.apk
Installing by hand works too. Copy the APK to the phone, open it with your file manager, and allow installation from that app when Android asks.
A workspace is the folder the agent works in. The Files screen, the editor, the agent and the terminal all share it, so anything the agent changes is immediately visible everywhere else.
Grant All files access when you can. It lets the terminal open your folder at its real path, so there is one shared tree instead of a mirrored copy. It needs Android 11 or newer; on older versions Kern uses a private mirror and can sync it back on request.
Open the Terminal tab and choose Linux environment, then Install Ubuntu. Kern downloads a pinned Ubuntu 24.04.1 LTS rootfs, verifies its SHA-256, extracts it into a staging folder and only then promotes it into place. A failed download never damages a working install.
Once it is ready you get a real login shell:
This step is optional.
Without it you still get the built-in Android shell, the file explorer, the
editor, the agent and the preview. Ubuntu adds a full userspace with
apt, a compiler and Python.
Go to Settings, then Add provider. Kern needs a base URL, a model id and an API key. It supports anything that speaks the OpenAI chat completions API.
| Service | Base URL |
|---|---|
| OpenAI | https://api.openai.com/v1 |
| OpenRouter | https://openrouter.ai/api/v1 |
| Together | https://api.together.xyz/v1 |
| Groq | https://api.groq.com/openai/v1 |
| Ollama, local | http://127.0.0.1:11434/v1 |
| llama.cpp, local | http://127.0.0.1:8080/v1 |
Press Test first. Kern sends a one-token request, so a wrong key or a wrong model id fails immediately instead of at the first real task. When the test passes, save the profile and pick a model.
Your key stays on the device. It is encrypted with AES-256-GCM using the Android Keystore and is never written to a log. If you use a local model, nothing you type leaves the device at all.
Open the Agent tab and ask for something. Good first prompts:
The agent will explore, ask to run commands, and may present a plan before it makes changes. Choose a permission mode first if you want fewer interruptions:
| Mode | Behaviour |
|---|---|
| Ask changes | Every write waits for you. The safest. |
| Auto edit | Edits go through on their own; commands still ask. |
| Full access | Everything runs, except destructive commands, which always ask. |
Good to know
Point the agent at one project at a time. A focused folder gives better results than a whole drive, and it keeps the context tight.
A multi-step job is far more reliable when the agent has a checklist. It keeps track of what is done and what is left, even across long runs.
Let the agent work on a clean branch. The tool set includes real Git commands, so a mistake is one revert away.
For web work, ask the agent to start the server. The preview and its console drawer show exactly what the agent is seeing, so you can correct it early.
Reading a file does not need a large model. Switch models from the chip above the composer when a task is routine.
The app is about 45 MB. The Ubuntu environment adds roughly 375 MB, and the package cache grows as you install.
Troubleshooting
/v1, the model id exists on that provider, and the key is correct. Some gateways only expose the models endpoint to logged-in requests, which is why Kern probes the chat endpoint instead.Ready
Download the build for your device and follow the steps above. Everything after that is up to you.