Keva: Running a Real Coding Agent on an Unrooted Android Phone — A Systems-Engineering Case Study

Architecture, failure modes, and transferable engineering lessons

The Keva Project Team · v1.0 2026-09-16 · v1.1 revised 2026-09-17 (see Appendix C)


Abstract

A modern flagship phone has the memory, CPU cores, and connectivity of a workstation from a few years ago. What it does not have is permission: mobile operating systems define an application as a consumer of UI surfaces, not as a host for long-lived processes that fork and exec, hold state for hours, and survive being backgrounded.

Keva is a Flutter Android application that bundles a complete glibc Linux userland (an Ubuntu rootfs) inside the APK and runs two real coding-agent runtimes — the Claude Code CLI and the Codex app-server — behind a single interface, inside an unrooted application sandbox. It is a working coding agent on a phone. This paper is a systems-engineering case study on what that actually cost.