要求重新製作

重新旋轉是指在公開發布 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 相同。
  • 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
  • 如為 P0P1 要求,您也必須說明緊急程度。

下表列出錯誤優先順序和解決時間 (ESRT) 的對應關係:

優先順序ESRT
P02 個工作天
P15 個工作天
P210 個工作天
P315 個工作天

服務水準協議政策

  • 請為每個發行分支分別提交重新旋轉要求。
  • 如果已標示為修正的重新旋轉要求有異動,請提交新的重新旋轉要求。請勿重新開啟要求,新增其他變更清單 (CL)。
  • 如果重新旋轉要求需要您回覆,且您未在三個工作天內回覆,優先順序會降低一個等級,例如 P0 會降級為 P1
  • 如果兩週內未回覆,系統會將錯誤標示為「不會修正 (已過時)」

提交重新旋轉要求

下圖顯示重新旋轉程序。OEM 合作夥伴 (您) 提交重新旋轉要求後,就會開始這個程序。

緊急重新旋轉程序 圖 1. 緊急重製程序。

如要提交重新旋轉要求,請按照下列步驟操作:

  1. 填寫 GKI 重新旋轉要求表單,並立即與 Google 聯絡窗口聯絡。

    • 這份表單會建立 GKI 重新旋轉要求錯誤。
  2. 準備修補程式:

    • 確認修補程式已併入 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)
    
  3. 提交錯誤。提交要求後,系統會執行下列操作:

    • 提交後審查程序:

      • Google GKI 團隊會審查要求,並核准要求,或是在需要更多資訊時將要求指派回給您。
      • 雙方同意修正方式後,Google GKI 團隊會審查變更。審查期間,ESRT 計時器會持續運作。不過,如果修補程式遭到拒絕或需要重新製作,ESRT 計時器就會重設。
      • GKI 團隊會合併、建構、測試迴歸,並認證變更。
    • 發布: