Android HAL & Framework 如何 Vibe Coding?
.作者:Jollen/
.日期:Tue May 26 2026 08:00:00 GMT+0800 (台北標準時間)
Vibe Coding 大型 Android Framework 專案
Android HAL & Framework 也能 Vibe Coding。
使用 Codex 或 Claude Code 直接在 AOSP Source Tree 裡做開發,體驗並不差;若要更進一步升級為 Agentic Coding,往 AOSP 灑些調味料,有異想不到的神奇效果。
這裡分享 3 份調味方法:
- 一個效果出乎意料的好工具-
grep
根據關鍵字或 Regular Expression 把 grep 輸出結果,放進 Prompt 後跟 AI 對話;若針對複雜工程問題,例如:多份 grep 輸出結果,再加一個簡單的 Context Manager 進行 Prompt 管理即可。
- 使用 RAG 建立索引資料庫
先將程式碼的 AST 事先編譯好,再用 text-embedding 來建立 RAG;因為專案不大,甚致用一系列的 JSON 檔案來存放即可。為什麼要用 text-embeddeding / AST 建立 RAG 呢?它的目的是進行 code-indexing。
例如,我想知道 camera permission enforcement path 這條功能的「實作路徑」,可以執行以下指令:
% npm run android-vibe:retrieve -- --query "camera permission enforcement path" --topK 8
輸山結果:
{
"ok": true,
"cmd": "android-vibe:retrieve",
"mode": "hybrid-v8",
"query": "camera permission enforcement path",
"query_tokens": [
"camera",
"permission",
"enforcement",
"path"
],
"topK": 8,
"matches": [
{
"entity_id": "method:53a945390a017eb6",
"path": "frameworks/base/core/java/android/hardware/Camera.java",
"class_name": "Camera",
"method_name": "setPreviewCallback",
"subsystem": "framework_core",
"module": "frameworks.base.core",
"line_start": 516,
"line_end": 523,
"score": 0.962915,
"semantic_score": 0.125988,
"lexical_hits": [
"camera"
],
"role_hits": [],
"signal_hits": [],
"why_ranked": "lexical:camera | path-boost | exact:0.26"
},
...
]
}
從輸出結果,可以知道,要閱讀這項功能的程式碼,可以先從以下檔案開始:
frameworks/base/core/java/android/hardware/Camera.java的setPreviewCallback方法- …(略)
再用這份索引結果跟 AI 對話,在精準度方面有很大的提升。android-vibe 只「提供 metadata」;要讓 AI 看懂 metadata,須再仔細編寫一份提示詞(現在稱為 SKILL)搭配使用。
若要讓 AI 修改程式碼,再透過 read_file action 來取得完整檔案。
- 使用 MCP Server
把 npm run android-vibe:retrieve 套用一層 MCP Server,並接到 Claude Code 來用,可以達到不錯的 Agentic Coding 效果。MCP Server 的主要工作,同樣是提供 code-indexing 的能力。
這等於是把 android-vibe 變 Claude 的外掛:先讓 android-vibe 給 metadata 與提示詞;AI 若需要修改程式碼,再以 read_file action 來讓 AI 讀取完整檔案。
總結
用 AI 進行 Android HAL & Framework 開發確實可行;也因為 AI Base Model 太聰明了,僅管只是簡單的方法,也能大幅提升研發效率。
若願意閉著眼睛燒 token:直接用 Cluade Code 來修改 AOSP Source Tree 也可以。如果在意原生 Vibe Coding 方法成本略高,使用上述的加料法,便可以省點費用。
Also read
Tags: vibe