重新旋轉是指在公開發布 GKI 核心後,重新合併、重建、重新測試及重新認證二進位的程序。
要求重新旋轉前,請注意下列規定。
資格條件和生命週期
- 時間:只有在季度版本首次公開發布後,您才能對發布分支版本要求重新旋轉。在初始公開發布後的六個月內,最多只能針對特定發布分支要求重新發布供應商掛鉤或其他功能。
- 安全性與長期支援:六個月後,分支版本僅適用於 Android 安全性公告中提及的安全性修補程式,或重大錯誤修正。
- 淘汰:如果 Android 安全性公告 (ASB) 定義的 LTS 需求導致分支版本不相容,該分支版本就會遭到淘汰。系統不會接受已淘汰分支的重製要求。
- 特定 GKI 分支版本的淘汰日期會列在「發布」下方的每季 GKI 版本建構附註中。舉例來說,2025 年 9 月發布的版本支援重新發布,直到 2027 年 3 月為止。自 2025 年 9 月起,LTS 2.0 核心版本將提供 18 個月的生命週期 (2025 年 9 月之前的版本為 12 個月)。
- 範圍:僅在需要緊急修正錯誤、更新符號清單,或套用修補程式來修正現有功能時,才要求重新發布。
修補程式提交標準
為符合重新發布要求處理的預期標準解決時間 (ESRT),提交至發布分支的所有修補程式都必須遵守下列技術規則。
可靠資料來源和 Cherry-pick
- 先開發分支版本:所有要併入季發布分支版本的修補程式,都必須先併入主要 GKI 開發分支版本。舉例來說,如果
android15-6.6-2025-08的重新旋轉需要修補程式,則該修補程式必須已合併至android15-6.6。 - 乾淨的挑選:您必須直接從開發分支挑選修補程式。請勿從其他發布分支版本中挑選 (例如,請勿從
2025-08挑選到2025-09),因為這可能會導致作者或提交資訊與開發分支版本不一致。如果修補程式資訊不一致,系統將不接受。 - 保留中繼資料:保留原始提交中繼資料 (例如作者、原始時間戳記)。使用
git cherry-pick -x保留中繼資料。
提交鏈
- 依序排列的鏈結:如果重新旋轉要求涉及多個修補程式,請將這些修補程式上傳為依序排列的單一鏈結。
- ABI 和 KMI 的位置:如果多個修補程式重新旋轉包含核心模組介面 (KMI) 和應用程式二進位檔介面 (ABI) 更新 (例如符號清單變更或 XML/STG 檔案更新),請將這些提交內容放在提交鏈的最後。
- 重新設定基準:如果您編輯鏈結中的父項提交內容,必須根據父項修補程式的最新修訂版本,重新設定所有子項修補程式的基準,以免建構失敗。
- 解決衝突:確認任何修補程式中都沒有衝突標記。
- 建構驗證:整個提交鏈必須建構成功。
必要標記
如果提交訊息中沒有下列標記,重新旋轉要求就會遭到封鎖:
Change-Id:必須與開發分支版本變更的Change-Id相同。- 例外狀況:如果修補程式已併入開發分支版本,做為 LTS 更新的一部分,則應從 LTS 版本挑選修補程式,並格式化為
UPSTREAM修補程式。請參閱「如何將修補程式提交至 Android 常見核心」。
- 例外狀況:如果修補程式已併入開發分支版本,做為 LTS 更新的一部分,則應從 LTS 版本挑選修補程式,並格式化為
Bug(現有):不得移除原始開發分支版本中的現有Bug: XYZ標記。Bug(重新發布):您必須新增Bug: XYZ標記,其中 XYZ 對應至與目前重新發布要求相關聯的錯誤 ID。- 視需要更新
UPSTREAM提交標記:從開發分支挑選 CL 至發布分支時,如果 CL 標記為UPSTREAM,請考量下列情境:- 如果 CL 順利套用至發布分支,您就不必採取任何額外行動。
- 如果 CL 無法順利套用,請修正衝突、將標記更新為
BACKPORT,並記錄衝突解決作業的內容,請參閱「Requirements for backports from mainline Linux」。
優先順序和 ESRT
為重新旋轉要求指派優先順序 (緊急程度),協助 GKI 團隊決定優先處理順序。這項優先順序可協助 GKI 團隊及時為合作夥伴提供更完善的支援。
- 如需專人提供立即協助,請將優先順序標示為 P0。
- 如為 P0 和 P1 要求,您也必須說明緊急程度。
下表列出錯誤優先順序和解決時間 (ESRT) 的對應關係:
| 優先順序 | ESRT |
|---|---|
| P0 | 2 個工作天 |
| P1 | 5 個工作天 |
| P2 | 10 個工作天 |
| P3 | 15 個工作天 |
服務水準協議政策
- 請為每個發行分支分別提交重新旋轉要求。
- 如果已標示為修正的重新旋轉要求有異動,請提交新的重新旋轉要求。請勿重新開啟要求,新增其他變更清單 (CL)。
- 如果重新旋轉要求需要您回覆,且您未在三個工作天內回覆,優先順序會降低一個等級,例如 P0 會降級為 P1。
- 如果兩週內未回覆,系統會將錯誤標示為「不會修正 (已過時)」。
提交重新旋轉要求
下圖顯示重新旋轉程序。OEM 合作夥伴 (您) 提交重新旋轉要求後,就會開始這個程序。
圖 1. 緊急重製程序。
如要提交重新旋轉要求,請按照下列步驟操作:
填寫 GKI 重新旋轉要求表單,並立即與 Google 聯絡窗口聯絡。
- 這份表單會建立 GKI 重新旋轉要求錯誤。
準備修補程式:
- 確認修補程式已併入 GKI 開發分支。
- 將修補程式套用至適當的 GKI 發布分支版本。
- 修改挑選的修補程式,加入引用重新旋轉要求 ID 的
Bug: XYZ標記。
範例: 如要從
android16-6.12挑選 CL 並移至android16-6.12-2025-12,請執行下列操作:# 1. Checkout the target release branch git checkout android16-6.12-2025-12 # 2. Fetch the upstream development branch (Source of Truth) git fetch aosp android16-6.12 # 3. Cherry-pick the commit (Preserving metadata) git cherry-pick -x <commit_hash> # 4. Update the commit message to include the Respin Bug ID # (Do not remove existing Bug IDs or change the Change-Id)提交錯誤。提交要求後,系統會執行下列操作:
提交後審查程序:
- Google GKI 團隊會審查要求,並核准要求,或是在需要更多資訊時將要求指派回給您。
- 雙方同意修正方式後,Google GKI 團隊會審查變更。審查期間,ESRT 計時器會持續運作。不過,如果修補程式遭到拒絕或需要重新製作,ESRT 計時器就會重設。
- GKI 團隊會合併、建構、測試迴歸,並認證變更。
發布:
- 二進位檔會發布至 ci.android.com。
- ESRT 時間範圍結束,Google GKI 團隊將要求標示為「已修正」,並參照重新發布的建構版本。
- 重新發布的版本也會發布在「通用核心映像檔 (GKI) 發布版本」頁面。