【开发过程分享】我如何在地铁通勤的过程中编写了一个android应用并在下地铁之前安装使用上了

我如何在地铁通勤的过程中编写了一个 Android 应用,并在下地铁前安装使用上了

前情提要

之前我曾经写过一个 PWA 版本的 APRS 工具:

aprs-pwa

但是由于 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 时代软件开发方式变化的一个缩影。

1 个赞

有个叫吐司的安卓软件,也可以AI生成安卓apk。
好像是腾讯家出的。

感谢分享