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

科技分類資訊推薦

卡邦電氣 PLC 控制櫃:工業控制主體力量! - 天天要聞

卡邦電氣 PLC 控制櫃:工業控制主體力量!

在現代工業領域,自動化控制的重要性不言而喻,而 PLC 控制櫃則是實現這一關鍵環節的核心設備。今天,我們就來深入了解一下卡邦電氣的 PLC 控制櫃,看看它是如何在工業舞台上大放異彩的。
2025品牌影響力大,姚遠新能源榮獲多個獎項! - 天天要聞

2025品牌影響力大,姚遠新能源榮獲多個獎項!

2025年6月14日至15日,由《中國企業報》、《中國商界》雜誌社、CCTV《發現品牌》欄目組和中國品牌影響力評價辦公室聯合主辦的「2025(第十二屆)品牌影響力發展大會暨成果發布活動」在北京隆重舉行。
螞蟻消金林嘉南:大模型賦能智能風控,額度互動促進金融健康 - 天天要聞

螞蟻消金林嘉南:大模型賦能智能風控,額度互動促進金融健康

「螞蟻消金希望利用互動式智能風控技術,挖掘年輕人努力成長的證明」。6月19日,在上海舉行的2025中國國際金融展上,螞蟻消金首席風險官林嘉南分享了,如何將大模型技術應用在互動式智能風控領域,從而促進額度的互動性,促進用戶與機構的金融健康。這契合了本屆展會 「開放創新,科技賦能,共創金融新未來」的主題。普惠金...
德國西格瑪(SIGMA Audio)品牌介紹 - 天天要聞

德國西格瑪(SIGMA Audio)品牌介紹

德國西格瑪(SIGMA Audio)品牌溯源:精密工藝與純粹音質的融合德國西格瑪(SIGMA Audio)是享譽全球的高端音響品牌,誕生於德國精密工程與聲學技術的沃土。
海爾位列谷歌&凱度BrandZ中國全球化品牌第6,蟬聯行業第一 - 天天要聞

海爾位列谷歌&凱度BrandZ中國全球化品牌第6,蟬聯行業第一

海南陵水 2025年6月19日 -- 6月19日,谷歌Google攜手凱度BrandZ發布《2025年中國全球化品牌50強》榜單,海爾蟬聯行業第一,位列第6位,連續9年穩居中國全球化品牌前十之列,品牌排名與全球影響力持續攀升。 自主創牌的行業標杆 作為權威的品牌價值評估體系之一,《2025年中國全球化品牌50強》榜單覆蓋了澳大利亞、巴西、法...
銳評|堅定「投資未來」必將「贏得未來」 - 天天要聞

銳評|堅定「投資未來」必將「贏得未來」

一輛公交車在北京京郊絲滑行駛,但坐在主駕的安全員並沒有摸方向盤,哪怕遇到複雜路況,「AI司機」也能應對自如……「活力中國調研行」主題採訪活動正在進行,一行記者走進北京機器人世界,切身感受「未來已來」。