廢棄了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 我的項目,打造一個全新的產品。

科技分類資訊推薦

新 iPhone 終於提速了,發布時間曝光 - 天天要聞

新 iPhone 終於提速了,發布時間曝光

蘋果摺疊iPhone的消息流傳已久,但現在終於不再是前幾年的傳聞階段。從今年開始,摺疊iPhone的研發生產已進入實質性推進。前段時間,媒體Digitime曾報道稱,摺疊iPhone已提上日程,於今年六月份進入了P1原型開發階段。
服務全球資源環境可持續發展 - 天天要聞

服務全球資源環境可持續發展

在化學教科書與專業字典中,往往都附有一張系統的元素周期表。這張凝聚著科學智慧的圖表,不僅揭示了物質世界的內在規律,更以精妙的邏輯將看似孤立的元素串聯起來,構建起完整統一的自然體系框架。然而,相較於元素周期表所展現的理論秩序,人類對元素在地球的分布與循環認知有限。國際社會急需權威觀測數據,以破解全球資...
榮耀X70爆料匯總 行業首個金標十面抗摔+8300mAh電池 - 天天要聞

榮耀X70爆料匯總 行業首個金標十面抗摔+8300mAh電池

【CNMO科技消息】7月15日晚,榮耀X70將正式發布,目前榮耀手機官方也已經開啟了預熱,各項硬核配置加持成為了妥妥的硬核之王。在發布前,我們也為大家匯總了目前已經預熱的產品賣點,大家可以看看是不是自己的菜。
高職藝術設計數字化教材的標準化與個性化平衡 - 天天要聞

高職藝術設計數字化教材的標準化與個性化平衡

在當今教育數字化轉型的浪潮中,高職藝術設計類專業的教材建設正面臨一個核心命題:如何在資源庫的標準化框架下,實現個性化教學的規模化落地?這一矛盾的本質,是工業化教育模式與創意人才培養需求之間的碰撞。
沃爾沃中國也裁員了?國際豪車巨頭們該向何處去? - 天天要聞

沃爾沃中國也裁員了?國際豪車巨頭們該向何處去?

前些年,各家國際豪車都是市場上的天之驕子,各種紅利不斷,然而最近幾年可謂是風水輪流轉,豪車巨頭紛紛走上了降本增效甚至裁員的道路,近來沃爾沃中國也裁員的消息傳來,國際豪車巨頭們到底該向何處去? ....
工信部發話了!這條新規,既「救了」電動車企,也「救了」老司機 - 天天要聞

工信部發話了!這條新規,既「救了」電動車企,也「救了」老司機

工信部終於發文,要「整治」單踏板模式了!在新能源汽車,尤其是純電車的發展歷程中,單踏板模式一直是備受爭議,對於喜歡用這個模式的用戶來說,都覺得這簡直是汽車發展史上的偉大發明,而對於不適應這個模式的用戶來說,覺得車企為了動能回收,真是無所不用其極,這種一抬加速踏板就制動的方式,是哪個大聰明發明的,都快...
盤點跨界造手機廠商 特朗普手機前面還有這些 - 天天要聞

盤點跨界造手機廠商 特朗普手機前面還有這些

【中關村在線原創盤點】最近,特朗普手機成為熱議話題。這款手機由美國數字世界收購公司(DWAC)與特朗普媒體科技集團(TMTG)合作推出,號稱 「世界上最安全的手機」,不僅具備衛星通信功能,還能擺脫運營商的限制。