- 移动开发
- AI 应用
- CLI
- 开发工具
【免费下载链接】openclaw-android
Run OpenClaw on Android with a single command — no proot, no Linux
OpenClaw on Android让你用一条命令就能在 Android 手机上运行 OpenClaw,无需 proot、无需完整 Linux 发行版。无论你是想修一个拼写错误,还是想改进安装脚本或 Android 应用,这份开发者贡献指南都会带你走完从熟悉项目结构、本地构建、代码规范到提交 Pull Request 的完整流程。
快速了解项目:Shell 脚本与 Android 应用双主体
在动手之前,先花 2 分钟理解项目的两大组成部分,这决定了你贡献代码时应该去哪里改:
| 模块 | 位置 | 技术栈 | 作用 |
|---|---|---|---|
| Shell 脚本 | 仓库根目录 + scripts/ | Bash(POSIX 兼容) | 安装器、更新器、补丁,运行在 Termux 中 |
| Android 应用 | android/ | Kotlin + WebView(React) | 独立 APK,内置终端与图形界面 |
项目采用平台插件架构:install.sh、update-core.sh、uninstall.sh 等平台无关的编排脚本负责调度,platforms/openclaw/ 目录下的插件脚本声明依赖并完成平台相关安装。理解这一分层后,你的多数脚本贡献只需要关注其中一层。
新手入门:5步完成第一次贡献(Fork → PR 工作流)
克隆仓库
git clone https://gitcode.com/gh_mirrors/op/openclaw-android cd openclaw-android找到适合新手的 Issue:优先选择
good first issue标签的问题。好的首次贡献包括:拼写与文档修复、Shell 脚本改进、有明确复现步骤的 Bug 修复。在
main分支上直接开发:项目使用单分支工作流,分支名不加任何前缀。按规范写提交信息:使用英文、祈使句、无前缀,主题行不超过 50 字符,首字母大写、结尾不加句号。
发起 Pull Request:说明改动做了什么、为什么需要、如何测试。
💡 提交前记得启用 Git Hooks(下一节),它会自动帮你跑完大部分质量检查。
Shell 脚本端:本地验证与测试方法
Shell 脚本遵循 POSIX 兼容风格,使用 4 空格缩进,共享约定集中在 scripts/lib.sh 中。修改后建议做三件事:
- 语法校验:
bash -n install.sh、bash -n update-core.sh、bash -n oa.sh - 静态检查:对改动文件运行
shellcheck(安装后 pre-commit 钩子会自动执行) - 理解验证逻辑:项目内置两级安装后校验,见 tests/verify-install.sh,可参考其检查项为自己的修改补充判断
修改脚本时的 4 条关键约束
| 约束 | 说明 |
|---|---|
| Termux 兼容 | 必须运行在 Termux 环境($PREFIX路径、无 root 权限) |
| glibc 边界 | Node.js 运行在 glibc-runner 下,系统工具用 Bionic libc,不要混淆 |
| 路径处理 | /tmp、/bin/sh等标准 Linux 路径需转换为 Termux 等价路径 |
| 幂等性 | 安装与更新脚本必须可安全地重复执行 |
Android 应用端:构建 APK 与 WebView UI
如果你贡献 Kotlin 代码或前端界面,需要准备 android/README.md 中列出的环境:
- JDK 21、Android SDK(API 28+)、NDK 28+、Node.js 22+(构建 WebView UI)
常用构建命令:
cd android ./gradlew assembleDebug # 构建 APK ./gradlew ktlintCheck # 代码风格检查 ./gradlew detekt # 静态分析 ./gradlew ktlintFormat # 自动格式化WebView 界面(React SPA)在 android/www/ 下单独构建:
cd android/www npm install npm run build测试是贡献的重要部分:应用在android/app/src/test/下维护了 50+ 个单元与契约测试(JsBridge 安全边界、Bootstrap 下载校验、终端会话等)。如果你的改动涉及 JsBridge.kt 等核心桥接类,请务必运行相应测试并新增用例。
提交前检查:启用 Git Hooks 自动跑质量门禁
克隆仓库后执行一次:
git config core.hooksPath .githooks此后每次git commit,.githooks/pre-commit 会自动对暂存文件运行:
| 文件类型 | 检查工具 |
|---|---|
Kotlin(.kt/.kts) | ktlint + detekt |
Shell 脚本(.sh) | shellcheck |
Markdown(.md) | markdownlint |
WebView(android/www/下 TS/TSX) | ESLint |
| 同步检查 | 校验根目录 post-setup.sh 与应用 assets 内的副本一致 |
各语言的代码风格速查:Shell 用 4 空格、Kotlin 与 XML 遵循官方规范、TypeScript 用 2 空格。
报告 Bug:让维护者高效定位的信息清单
除了改代码,高质量的问题报告同样是有价值的贡献。一个完整的 Bug 报告应包含:
- Android 版本、设备型号、Termux 版本
- 明确的复现步骤
oa --status的输出(展示安装状态与各组件健康度)
在 Android 12+ 上调试进程被杀问题时,可能需要用 ADB 关闭 Phantom Process Killer,具体步骤见 docs/disable-phantom-process-killer.md:
更多常见故障的排查思路可以参考 docs/troubleshooting.md,安全类问题请阅读 SECURITY.md。
许可证与参与须知
- 贡献即表示你的代码将以MIT License发布
- 项目变更历史记录在 CHANGELOG.md,提交 PR 前建议浏览最新条目,避免重复工作
- 贡献指南全文见 CONTRIBUTING.md
🎯新手行动清单:克隆仓库 → 启用 Git Hooks → 选一个
good first issue→ 本地构建验证 → 按规范提交 PR。祝你的第一次贡献顺利合并!
- 移动开发
- AI 应用
- CLI
- 开发工具
【免费下载链接】openclaw-android
Run OpenClaw on Android with a single command — no proot, no Linux
相关推荐
GHelper完整指南:3步轻松掌控华硕笔记本性能与续航
GHelper完整指南:3步轻松掌控华硕笔记本性能与续航 GHelper是一款专为华硕笔记本设计的轻量级开源控制工具,通过简洁高效的界面实现对性能模式、风扇转速
桌面应用系统编程Signal-Android开源贡献:如何参与Signal项目开发
Signal Android开源贡献:如何参与Signal项目开发 Signal作为一款注重隐私保护的即时通讯应用,其Android客户端Signal Andr
Android-ZBLibrary社区贡献指南:如何参与开源项目开发
Android ZBLibrary社区贡献指南:如何参与开源项目开发 想要为Android ZBLibrary这个优秀的Android MVP快速开发框架贡献自
移动开发UI组件
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考