我如何在地铁通勤的过程中编写了一个 Android 应用,并在下地铁前安装使用上了
前情提要
之前我曾经写过一个 PWA 版本的 APRS 工具:
但是由于 PWA 本身的限制,它更适合偶尔打开使用的场景。当需要长时间持续运行、后台发送数据时,PWA 就不是一个很理想的解决方案。
所以我一直想着,应该把它重新实现成一个原生 Android App。
使用物料
AgentDock
一个月前,为了方便从同一个入口管理多台机器,我开发了这个工具。
它本质上是一个远程 Agent 管理入口,可以让我通过浏览器直接连接不同环境中的终端,并启动 AI Agent 执行任务。
Hermes
一个桌面端 Agent。
当然,理论上任何支持终端操作的 Agent 都可以完成接下来的工作,这里只是我日常使用的一个工具。
android-dev-docker
两个月前创建的 Android Docker 开发环境。
它提供了完整的 Android 编译环境,可以避免在不同机器上重复配置 SDK、Gradle 等开发依赖。
aprs-pwa
之前实现的 PWA 版本。
这次开发 Android 版本时,我直接让 Agent 参考这个项目实现对应功能,避免了重新描述整个 App 的需求和交互逻辑。
过程
这个想法是在骑共享单车去地铁站的路上突然产生的。
因为当天准备进行户外活动,需要一个可以持续运行 APRS 功能的工具。而我之前已经完成了 PWA 版本,所以脑子里第一个想法就是:
既然代码已经有了,为什么不能直接让 AI 帮我生成一个 Android 版本,然后发到手机安装?
不过当时我还在骑车,显然不适合操作手机。
于是我决定,等上地铁之后再开始。
随着地铁车门关闭,我拿出手机,打开浏览器访问自己部署的 AgentDock 页面。
打开一个终端,启动 Agent,然后输入:
使用 https://github.com/Nigh/android-dev-docker 开发环境,开发一个与 https://github.com/Nigh/aprs-pwa 相同功能的 Android App。
随后开启允许 Agent 自动执行所有操作。
看着 AI 已经开始创建项目、修改代码、执行编译,我便关闭了浏览器,把手机收了起来。
过了几站路,我觉得应该差不多完成了,于是重新打开 AgentDock 查看进度。
嗯,还有一些收尾工作。
继续等待。
又过了两站路,再次打开页面时,看到项目已经基本开发完成。
于是我重新启动 Hermes,让它执行最后一步:
将 repo 目录下的 aprs-android 项目编译生成 APK,并通过 Telegram 发送给我。
一分钟后,我收到了 Agent 自动发送来的 APK。
安装过程非常顺利,打开 App 测试,核心功能也正常运行。
从开始想到这个需求,到拿到一个可以运行的 Android 应用,整个过程甚至没有超过一次普通地铁通勤的时间。
结尾
以前开发一个 App,通常意味着打开电脑、配置环境、创建项目、写代码、调试、打包,然后才能安装到设备上验证。
而现在,开发流程正在发生变化。
代码能力依然重要,但越来越多的工作变成了:明确需求、组织资源、搭建环境,然后让 Agent 去执行。
这并不意味着程序员不需要写代码了,而是开发者和工具之间的关系正在改变。
以前做一个工具,可能需要规划几天、开发几周;现在一些小型工具,可能只需要一次通勤时间。
而这,或许只是 AI Agent 时代软件开发方式变化的一个缩影。


