AnyClaw APK를 통해 Android에서 OpenClaw와 Codex CLI를 네이티브로 실행하기

AnyClaw는 Android용 임베디드 Linux 환경 내에 OpenClaw와 Codex CLI를 번들로 포함한 APK입니다. 설치 후 일회성 OpenAI OAuth 인증을 거치면 게이트웨이와 Control UI가 기기에서 로컬로 실행됩니다.
기술 구현상의 어려움
Android 환경으로 인해 설정 과정에서 상당한 어려움이 있었습니다:
- 네이티브 FFI: OpenClaw는 koffi에 의존하는데, 이는 사전 빌드된 Android 바이너리가 없습니다. 해결책으로 약 20개의 Termux 패키지(clang, cmake, make, lld, NDK sysroot)를 다운로드하고 휴대폰에서 직접 koffi를 소스에서 빌드해야 했습니다.
- 바이너리 패치: make와 cmake 바이너리의 ELF 헤더에 하드코딩된 Termux 경로가 있어, 실행 전에 바이너리 패치가 필요했습니다.
- 게이트웨이 충돌: Xiaomi 기기에서는 Android의 ccmni 셀룰러 인터페이스에 대해 homebridge/ciao(mDNS 라이브러리)가 AssertionError를 발생시켜 게이트웨이가 충돌했습니다. OpenClaw의 unhandledRejection 핸들러는 인식되지 않는 오류에 대해
process.exit(1)을 호출합니다. 수정 방법은 minified된runner-*.js를 패치하여 "interface"를 포함하는 오류를 잡아 종료 대신 경고로 기록하도록 하는 것이었습니다. - 기기 식별: Control UI는 subtle을 통해 토큰을 생성하는데, Android의 Chrome은 보안 컨텍스트(HTTPS 또는 localhost)에서만 이를 노출합니다. 게이트웨이 URL에
http://127.0.0.1을 사용하면 기능이 조용히 중단되었습니다.http://localhost로 전환하여 클라이언트 측을 수정했습니다. 또한,gateway-cli-*.js의evaluateMissingDeviceIdentity()를 패치하여dangerouslyDisableDeviceAuth가 설정된 경우 우회를 허용하도록 했는데, 이는 다양한 기기에서 새 설치 시 토큰 협상이 실패했기 때문입니다. - DNS 해석: Codex 네이티브 바이너리는 musl에 정적으로 링크되어 있으며,
/etc/resolv.conf가 없어 Android에서 호스트 이름을 해석할 수 없습니다. Node.js CONNECT 프록시가 이 격차를 메꾸며, Node.js의 네이티브 Android Bionic 리졸버 사용을 활용합니다. - Bionic 호환성 심:
bionic-compat.js심은process.platform을 'android'에서 'linux'로 패치하고, Android의 다른/proc/cpuinfo형식을 처리하도록os.cpus()를 수정하며, Android의 인터페이스가 오류를 발생시킬 때 가짜 루프백을 반환하도록os.networkInterfaces()를 래핑합니다.
설정 및 사용법
- 게이트웨이는 포트 18789에서, Control UI는 19001에서, codex-web-local 프론트엔드는 18923에서 실행되며, 모두 앱의 개인 저장 공간 내에서 동작합니다.
- 인증은 기존 Codex OAuth 토큰을 사용합니다;
~/.codex/auth.json의access_token이auth-profiles.json에openai-codex:codex-cli프로필로 기록됩니다. - 기본 모델은
openai-codex/gpt-5.3-codex입니다. - 루트 액세스 없이 ARM64 Android 7.0+ 기기에서 작동합니다.
이 프로젝트는 Android 기기에서 직접 OpenClaw와 Codex CLI를 실행하여 로컬 AI 코딩 에이전트 워크플로우를 원하는 개발자에게 유용합니다.
📖 전체 소스 읽기: r/openclaw
👀 See Also

WhatsApp AI 어시스턴트, Claude Code로 구축된 OpenClaw 대안
한 개발자가 Claude Code를 에이전트형 두뇌로 활용하여 WhatsApp AI 어시스턴트를 구축했습니다. 이 프로젝트는 WhatsApp 웹훅을 위한 로컬 릴레이 서버와 MCP 서버 브리징을 포함하며, Arcade를 통해 Google 캘린더, Gmail, Slack에 대한 범위 지정 인증을 제공합니다.

루미아: 지속적 메모리를 갖춘 원클릭 로컬 AI 동반자 시스템
루미아는 Ollama와 로컬 모델을 사용하여 로컬에서 실행되는 모듈식 시스템으로, 에피소드 메모리, 감정 메모리, 신념, 욕구, 정체성, 관계 모델링 및 반성 주기를 갖춘 지속적인 AI 동반자를 생성합니다.

SynapsCAD: Claude AI 통합 기능을 갖춘 OpenSCAD용 오픈소스 데스크톱 애플리케이션
SynapsCAD는 OpenSCAD 코드 편집기, 실시간 3D 뷰포트, AI 어시스턴트를 결합한 오픈소스 데스크톱 애플리케이션입니다. Bevy 0.15와 egui를 사용해 Rust로 완전히 구축되었으며, 자연어 3D CAD 코딩을 위한 Claude API 통합을 지원합니다.

OpenClaw 공유 메모리 플러그인: SQLite 기반 다중 에이전트 조정
한 개발자가 OpenClaw 다중 에이전트 설정을 위한 플러그인을 개발하여, 에이전트들이 SQLite를 사용해 메모리를 공유할 수 있도록 하여 외부 서비스 필요성을 제거했습니다. 이 플러그인은 도구를 통한 명시적 메모리 공유, 자동 컨텍스트 추출, 접근 제어, 엔티티 추적, 모순 감지 기능을 제공합니다.