Mobile-Harness README

The project's README from github.com/techjarves/Mobile-Harness. As one markdown file: README.md.

Mobile Harness Logo

Mobile Harness

The complete autonomous AI development workspace for Android.

Chat with coding agents, edit projects, execute real Linux commands, and preview live web servers — all directly on your phone.


Release v1.0.3 Android 9+ ARM64 MIT License Watch demo


Download Online APK  •  Download Offline APK  •  Watch Walkthrough (3 min)  •  Quickstart Guide  •  Architecture  •  Build from Source



Mobile Harness Walkthrough and Live Product Demo
Watch the product walkthrough and demo  |  Setting up Ubuntu, connecting Claude Code, and building an app on Android



[!IMPORTANT] Environment Security Notice
Mobile Harness runs on ARM64 Android devices using a private userspace PRoot layer. While isolated from other apps via standard Android sandbox permissions, PRoot is not a virtualization boundary or hardened security jail. Only execute projects and dependencies you own or trust.


Download Mobile Harness

Choose the edition that fits your setup

Both editions contain the complete Mobile Harness app and support secure in-app updates beginning with v1.0.3.

Online Edition

44.6 MB · Recommended

Start with the smaller APK. Core, Python, and Android runtime bundles are downloaded only when needed.

Download Online APK

Offline Edition

818.5 MB · Everything included

Includes the Core, Python, and Android runtime bundles for setup with limited or unavailable internet.

Download Offline APK

ARM64 Android 9+
Direct APK installation · No root required · No USB or wireless ADB pairing


Capabilities

Mobile Harness unites modern Jetpack Compose UI with a self-contained Ubuntu 20.04 LTS subsystem. It gives you a desktop-class software development environment in your pocket without requiring root access, unlocked bootloaders, or external applications like Termux.

Autonomous Agent Coding

Native integration with Claude Code CLI. Stream step-by-step reasoning, automated file manipulation, and terminal commands across persistent project sessions.

Isolated Linux Subsystem

A full Ubuntu 20.04 ARM64 userspace running inside PRoot. Includes Node.js, npm, Git, OpenSSL, and essential shell tooling out of the box.

Instant Web Preview

Spun up a Vite, Next.js, or Express server? Test web interfaces in real-time within a restricted, sandboxed mobile WebView with console telemetry.

Keystore-Grade Encryption

Your API keys and credentials are encrypted using Android Keystore-backed AES-256 GCM. No telemetry, no remote proxies, and zero plain-text leaks.

Persistent Project Sessions

Keep projects, chat history, files, and task context together so work can continue across app sessions.

Native File Workflow

Browse, edit, search, and attach files directly from the app interface. Interoperate with system storage via Android Storage Access Framework (SAF).

On-device Android Builds

Build, install, and launch Android APKs directly on the phone without USB or wireless ADB pairing.

Optional Toolchains

Add Python, Android, C/C++, and PHP tooling only when a project needs it.


Workspace Interface

Projects Terminal Settings
Projects workspace overview Linux terminal execution Runtime and provider configuration
Create, organize, and resume isolated workspace sessions. Execute real Linux commands and scripts with instant output. Manage AI providers, installed toolchains, themes, and runtime health.

Quickstart

Get up and running in 3 guided steps:

1. Download & Install

Download the latest signed release APK from GitHub Releases.

Target Architecture : ARM64 (arm64-v8a)
Package Version     : v1.0.3
Minimum OS Level    : Android 9.0 (API 28)

2. Guided Bootstrap (~10 Minutes)

Launch the application and follow the interactive setup wizard:

1 · System Readiness 2 · Toolchains 3 · AI Provider
System compatibility check Toolchain selection Provider connection
Verifies device storage, CPU architecture, and background service permissions. Select core Ubuntu runtime and optional development stacks. Securely store your API keys in Android Keystore.

3. Create & Build

  1. Tap New Project or launch an instant Quick Project.
  2. Open the AI Workspace and describe what you want to build.
  3. Watch the agent inspect files, draft code, run builds, and launch local web previews.

Model Providers

Mobile Harness uses Claude Code's Anthropic-compatible API protocol. You can connect official endpoints or route requests through compatible translation proxies:

Provider Integration Type Streaming Tool Calling Status Notes
Anthropic API Direct Key Supported Supported Recommended Primary supported backend
OpenRouter Gateway Supported Supported Supported Routes compatible models through one API key
DeepSeek Direct Key Supported Supported Supported Anthropic-compatible endpoint
Kimi Direct Key Supported Supported Supported Anthropic-compatible Moonshot endpoint
Custom API Endpoint Override Compatible Compatible Experimental User-configured gateway

[!NOTE] All credentials are stored with hardware-backed Android Keystore AES-256-GCM encryption. Keys are decrypted solely in-memory during active bridge operations.

When Android is selected during onboarding, Mobile Harness installs that complete toolchain into its private Ubuntu environment. Android projects can then be built with the workspace play button. The resulting debug APK is passed directly to Android's system package installer and launched after installation; USB debugging, wireless debugging, an ADB port, and a pairing code are not required. Android still requires the user to allow installs from Mobile Harness and confirm each installation.


Architecture

Mobile Harness bridges native Android Jetpack Compose to an isolated PRoot Linux execution layer via an optimized C++ JNI bridge:

flowchart TB
    subgraph Host[" Android Native Host (Kotlin + Jetpack Compose) "]
        UI["Modern UI Layer<br/>Projects • Chat • Terminal • Web Preview"]
        Service["Foreground Runtime Service<br/>Process Lifecycle & WakeLocks"]
        Keystore["Android Keystore<br/>AES-256 GCM Credentials"]
        Bridge["C++ JNI Process Bridge<br/>Native Launcher & Pipe Multiplexer"]
    end

    subgraph Subsystem[" Private Linux Subsystem (PRoot ARM64) "]
        Ubuntu["Ubuntu 20.04 LTS Subsystem<br/>Rootless Userspace Environment"]
        Agent["Claude Code CLI<br/>Autonomous Agent Harness"]
        Tools["Development Toolchains<br/>Node.js • Git • Python • C++"]
        Workspace["Local Project Workspace<br/>Files • Git History • Checkpoints"]
    end

    subgraph Cloud[" Model Providers "]
        Anthropic["Anthropic Claude API"]
        Gateways["LLMrouter / Pocket Gateways"]
    end

    UI <--> Service
    Service <--> Bridge
    Bridge <--> Subsystem
    Keystore -.-> UI
    Agent <--> Cloud
    Agent --> Tools
    Tools <--> Workspace
    UI -.-> Workspace

    classDef hostStyle fill:#0f172a,stroke:#38bdf8,stroke-width:1.5px,color:#f8fafc;
    classDef subStyle fill:#1e1b4b,stroke:#818cf8,stroke-width:1.5px,color:#f8fafc;
    classDef cloudStyle fill:#18181b,stroke:#f59e0b,stroke-width:1.5px,color:#f8fafc;

    class UI,Service,Keystore,Bridge hostStyle;
    class Ubuntu,Agent,Tools,Workspace subStyle;
    class Anthropic,Gateways cloudStyle;

Core Runtime Components


System Requirements

Metric Minimum Specification Recommended Specification
Operating System Android 9.0 (API level 28) Android 13.0+ (API level 33+)
CPU Architecture 64-bit ARM (arm64-v8a) High-performance 8-Core ARM64 (Snapdragon 8 Gen 1+ / Dimensity)
RAM 4 GB 8 GB or more
Free Storage 2.5 GB (Base Runtime) 8.0 GB+ (For multi-language toolchains and build caches)
Network Stable connection for setup & API High-speed Wi-Fi during initial rootfs provisioning


Developer Guides

Building from source (Android Studio & NDK)

Prerequisites

  • Android Studio: Ladybug / Hedgehog or newer
  • Android SDK: API Level 36 (compileSdk 36)
  • Java Development Kit: JDK 17 (Eclipse Temurin or OpenJDK)
  • Android NDK: 26.1.10909125
  • CMake: 3.22.1

Clone & Build Debug APK

# Clone the repository
git clone https://github.com/techjarves/Mobile-Harness.git
cd Mobile-Harness

# Build the standard ARM64 debug binary
./gradlew assembleDebug

# Deploy directly to a connected test device
adb install -r app/build/outputs/apk/debug/app-debug.apk

Quality Assurance & Testing

# Run unit tests
./gradlew testDebugUnitTest

# Run static analysis linter
./gradlew lintDebug

Target Profiles

  • Direct Sideload APK (Default): Targets API 28 to preserve proven userspace execution paths under Android 10-14.
  • Google Play Compliance Build:
    ./gradlew -PplayBuild=true assembleDebug
    
    Refer to the Google Play Release Checklist for signing and permission policies.
Optional toolchains and development stacks

Mobile Harness allows downloading optional developer packs on demand to conserve space:

  • Python Suite: Python 3.10+, pip, virtualenv, and essential scientific C-extensions.
  • Android & JVM: OpenJDK 17 headless runtime and Gradle build tools.
  • C / C++ Compiler Suite: GCC/G++, Clang, Make, and CMake for native tool compilation.
  • PHP Development: PHP CLI runtime, Composer, and standard database extensions.

Note: Kernel-level virtualization technologies such as Docker, KVM, systemd services, and nested hardware emulators are not supported under PRoot.

Repository directory structure
Mobile-Harness/
├── app/src/main/
│   ├── java/com/jarves/mh/
│   │   ├── data/       # Preferences, Keystore AES encryption, SQLite persistence
│   │   ├── model/      # Data entities: Projects, Chats, Files, Tool calls
│   │   ├── runtime/    # PRoot installer, C++ agent bridge, foreground services
│   │   └── ui/         # Jetpack Compose screens, Material 3 theme, ViewModels
│   ├── cpp/            # Native C++ launcher, pseudo-terminal pipe handler
│   ├── assets/         # Verified rootfs checksums, licenses, base configuration
│   └── res/            # Android icons, XML drawables, vector assets
├── fastlane/           # Play Store metadata, graphics, and release automation
└── docs/               # In-depth architectural notes & Play Store review guides
Security model and data privacy
  • Zero Cloud Intermediaries: Mobile Harness connects your device directly to your chosen AI endpoint. No intermediate relays or telemetry servers collect your prompts or code.
  • Scoped Storage: Project imports and exports utilize Android's official Storage Access Framework (SAF) instead of broad shared storage access.
  • Cryptographic Checksums: Root filesystem archives and Claude Code CLI packages are verified via SHA-256 checksums prior to extraction.
  • Encrypted Secrets: API tokens are encrypted in hardware-backed storage via Android Keystore.
  • ARM64 phones only
  • No hardened isolation for hostile code
  • Terminal input/output currently uses a process bridge rather than a complete PTY emulator; full-screen interactive programs may render incorrectly
  • Background tasks are subject to Android process and battery policies
  • Custom providers may lack Claude-compatible thinking, tool use, token counting, or streaming behavior
  • Large builds can be slow and memory-intensive under PRoot
  • Runtime installation requires a substantial download and free storage
  • Project-specific Android libraries may still be downloaded by Gradle when they are not already in the bundled Maven cache

Read our complete Privacy Policy.

Mobile Harness is currently intended for signed direct APK distribution and private testing. Its Android-project workflow requests permission to submit user-built APKs to Android's package installer, which requires a dedicated Google Play policy declaration and approval if distributed through Play.


Current Limitations



License

This project is licensed under the MIT License. Third-party runtime binaries and packages remain governed by their respective upstream licenses.



Crafted for developers who want a serious, uncompromised development environment wherever they go.
Copyright © 2026 Tech Jarves. All rights reserved.

Mobile-Harness (techjarves/Mobile-Harness)

Searching Database…

这是什么?Mobile Harness 是一款安卓应用,把你的手机变成移动编程 IDE:你可以与 AI 编程智能体(Claude Code)对话、运行真正的 Linux 命令、编辑文件、查看 diff、预览运行中的网页应用,全程无需 root。
我需要 Termux 或已 root 的手机吗,还是一切都已内置?一切自成一体:应用内置自己的 Ubuntu 20.04 ARM64 子系统,通过 PRoot 运行,所以你不需要 root、不需要解锁引导加载程序,也不需要 Termux 之类的独立应用。
我可以把 Claude Code 连接到哪些 AI 后端?Mobile Harness 可以对接任何 Anthropic 兼容的 API:官方 Anthropic API(推荐)、OpenRouter、DeepSeek、Kimi 或自定义端点,你的密钥存储在 Android Keystore 中。
在这个沙盒里运行不受信任的代码有多安全?并非完全安全——PRoot 隔离了 Linux 用户空间,但它不是加固的安全监狱或虚拟机边界,所以你应该只运行自己拥有或信任的项目和依赖。终端也缺少完整的 PTY,某些全屏 ncurses 应用的显示可能不正常。
它在任何安卓手机上都能运行吗?不能——它仅限运行 Android 9.0 或更新版本的 64 位 ARM(arm64-v8a)设备,且至少需要 4GB 内存和 2.5GB 可用存储空间来容纳基础运行时。
我的提示词和代码会去哪里?你的设备直接与你自己配置的 AI 端点通信——没有中间人中继,API 密钥静态存储时使用 Android Keystore 的 AES-256-GCM 加密。
我可以直接在手机上构建并运行安卓应用吗?可以——添加 Android 工具链后,Mobile Harness 可以在设备上通过系统包安装器构建、安装并启动调试 APK,无需 USB 或 ADB 配对。
Linux 环境开箱即带哪些工具?内置的 Ubuntu 20.04 ARM64 子系统包含 Node.js、npm、Git、OpenSSL 和 GNU coreutils;可选的 Python、Android/JVM、C/C++ 和 PHP 工具链可以之后按需添加。
我可以预览正在开发的网页应用吗?可以,Vite、Next.js 或 Express 等服务器可以在应用内带沙盒的 WebView 中实时测试,并带有控制台遥测。
我该选 Online 还是 Offline 的 APK?如果安装时有网络,选更小的 Online 版,因为它只在需要时下载运行时组件包;如果你的网络受限或不可用,选更大的 Offline 版。
Creator
techjarves
Size
5.6 MB
Stars
640
Age
1mo
Commits · 90 Days