废弃了7年的老Android项目,我用AI两周就重写完了!

2025年06月19日19:03:03 科技 1110

废弃了7年的老Android项目,我用AI两周就重写完了! - 天天要闻

还在为维护老旧项目头疼?AI 或许是你的救星。本文作者是一位有多年 Android 开发经验的工程师,在离开原生开发多年之后,决定借助 Copilot 等 AI 开发工具,花两周时间将一个 7 年前的 Android 应用从头重写为现代架构版本。

原文链接:https://www.reddit.com/r/androiddev/comments/1lawxue/i_rewrote_my_7yearold_android_app_in_2_weeks_with/

大约 7 年前,我发布了一个名为 SDK Monitor 的小工具应用,用来监控设备上安装的所有应用使用的 targetSDK API 级别。当时正值 Google 开始强制推行 targetSDK 最低版本限制(现在要求至少是去年的版本),于是我的原始应用很快就变旧了。随着时间的推移,我甚至已经无法再打开 Android Studio去维护它了——开发环境和技术体系早已焕然一新。

趁着 GitHub Copilot 的“免费无限使用”即将结束之前,我决定冲一把:看看能否借助 AI,把这个老项目重写一遍。

(项目地址:https://github.com/bernaferrari/SDKMonitor)

废弃了7年的老Android项目,我用AI两周就重写完了! - 天天要闻


废弃了7年的老Android项目,我用AI两周就重写完了! - 天天要闻

AI 驱动的开发流程

整个重写过程用了大约两周时间。

我一开始让 AI 把每个文件都进行“现代化”重写,例如将 MainViewModel 升级为 ModernMainViewModel。等所有文件都对应完成后,我就逐步删除旧代码并替换为新版本。

虽然整个过程也不完全轻松,但要是没有 AI 的帮助,这样的工作量几乎无法想象。我主要使用 Claude Sonnet 4,原因是它响应快、生成效果好;相比之下,Gemini 2.5 Pro 虽然质量不错,但速度慢,且几乎每一行代码都加注释,显得有些冗余

在重写过程中,我发现了很有意思的一点:早在 2018 年,Google 的 API 就在不断废弃,今天这种趋势依旧;可当年刚推出的库如 Room 和 WorkManager,现在不仅依然存在,而且还支持良好。

大模型偶尔会导入错误的库,或者忘记给图标加上 autoMirrored 属性,但总体来说,大模型基本很少再使用旧 API 或不推荐使用的 API 了。

Jetpack Compose 的发布时间点也恰到好处——既不太早(不会到处都是过时内容),也不太新(大部分 LLM 目前对像 shadcn/ui 这样的东西还比较陌生)。相比过去需要引入大量第三方库,现在除了 Google 自家的库外,我只手动引入了少数几个,比如 Coil 图像加载库。

我的开发工作流比较独特:我一边用 VS Code 与 AI 快速交互(主要用“编辑模式”迭代代码),一边用 Android Studio 写代码和调试——毕竟 VS Code 至今还没有 Kotlin 的语言服务器支持。


废弃了7年的老Android项目,我用AI两周就重写完了! - 天天要闻

那么,AI 重写过后的 SDK Monitor 2.0 有哪些变化?

可以说,这是一个彻底重写的全新版本。我专注于用最新的技术,打造一个简洁、高效、实用的 App,主要亮点包括:

  • 100% Kotlin 编写,完全采用 Jetpack Compose + Material 3 Expressive 设计语言(虽然该套件仍处于 Alpha 阶段,但我尽可能实践了其中的设计理念)。
  • 支持动态主题切换,兼容手机、平板和折叠屏(受到 Grok App 的启发)。
  • 新增视觉化图表,可展示 SDK 版本分布和近期应用更新情况。
  • 自定义快速滚动条,可按首字母或 SDK 版本快速定位应用(灵感来源于 Niagara Launcher)。
  • 支持多种语言,包括葡萄牙语意大利语法语德语日语、中文和西班牙语,由 AI 翻译完成。

为了让 AI 更好地理解上下文,我还对项目结构做了些调整,把相关的 ViewModel、界面组件等文件统一放进同一个目录(这种结构在 Web 开发中更常见)。这样我只需拖一个文件夹到 AI 的上下文窗口,它就能理解所有依赖关系。


废弃了7年的老Android项目,我用AI两周就重写完了! - 天天要闻

一点个人感想

我知道,这个应用的用途非常小众,可能对大多数人都没什么帮助。不过自 2018 年以来,还是有一些用户持续使用这个工具并积极反馈 bug。

如果你觉得“这个项目挺有意思,但不适合我”,我也完全理解,毕竟我也从未将它发布到 Play Store上。一方面是因为它需要查询所有已安装应用,另一方面,是因为它本身就不是面向大众的 App。

但这个应用其实还有一个“隐藏功能”:它可以作为一个很棒的 App 模板:项目规模适中、不依赖于网络、便于定制。你可以 Fork 它,然后在此基础上构建全新的项目。无论是 ViewModel 架构、Hilt 依赖注入,还是 Jetpack 组件的广泛使用,都能为你节省不少时间——要知道, 目前Google连个官方的 WorkManager 示例模板都没有。

说实话,我早就不是 Android 开发者了——先转向了 Flutter,后面又跳进了 Web 开发。不过,这次重写项目的过程非常有趣,也让我重新燃起了对老项目的热情。

最后,我希望这篇文章能启发你,去重拾曾经的老项目、用 AI 更快地启动新项目,或者也可以干脆 Fork 我的项目,打造一个全新的产品。

科技分类资讯推荐

广东:科技提速乡音寻亲,链接企业就业资源 - 天天要闻

广东:科技提速乡音寻亲,链接企业就业资源

今年6月19日是第13个全国救助管理机构“开放日”,广东省民政厅、广州市民政局在广州市救助管理站市区分站设立“开放日”活动主会场,省、市救助管理工作特邀监督员、人大代表、政协委员,相关社会组织、志愿者、市民群众代表等走进救助管理机构。2024年,广州市被民政部、省民政厅确定为救助管理区域性中心试点城市之一。...
卡邦电气 PLC 控制柜:工业控制主体力量! - 天天要闻

卡邦电气 PLC 控制柜:工业控制主体力量!

在现代工业领域,自动化控制的重要性不言而喻,而 PLC 控制柜则是实现这一关键环节的核心设备。今天,我们就来深入了解一下卡邦电气的 PLC 控制柜,看看它是如何在工业舞台上大放异彩的。
2025品牌影响力大,姚远新能源荣获多个奖项! - 天天要闻

2025品牌影响力大,姚远新能源荣获多个奖项!

2025年6月14日至15日,由《中国企业报》、《中国商界》杂志社、CCTV《发现品牌》栏目组和中国品牌影响力评价办公室联合主办的“2025(第十二届)品牌影响力发展大会暨成果发布活动”在北京隆重举行。
蚂蚁消金林嘉南:大模型赋能智能风控,额度互动促进金融健康 - 天天要闻

蚂蚁消金林嘉南:大模型赋能智能风控,额度互动促进金融健康

“蚂蚁消金希望利用交互式智能风控技术,挖掘年轻人努力成长的证明”。6月19日,在上海举行的2025中国国际金融展上,蚂蚁消金首席风险官林嘉南分享了,如何将大模型技术应用在交互式智能风控领域,从而促进额度的互动性,促进用户与机构的金融健康。这契合了本届展会 “开放创新,科技赋能,共创金融新未来”的主题。普惠金...
德国西格玛(SIGMA Audio)品牌介绍 - 天天要闻

德国西格玛(SIGMA Audio)品牌介绍

德国西格玛(SIGMA Audio)品牌溯源:精密工艺与纯粹音质的融合德国西格玛(SIGMA Audio)是享誉全球的高端音响品牌,诞生于德国精密工程与声学技术的沃土。