要求重新製作

「重新建構」是指在公開發布 GKI 核心後,重新合併、重新建構、重新測試及重新認證二進位檔的程序。

申請重新製作前,請注意下列規範。

資格條件和生命週期

  • 時間:只有在季度版本首次公開發布後,您才能要求重新發布版本分支。在初始公開版本發布後,最多六個月內,可要求針對特定版本分支版本重新編譯供應商掛鉤或其他功能。
  • 安全性與 LTS:六個月後,分支版本僅符合 Android 安全性公告提及的安全性修補程式或重大錯誤修正的重製資格。
  • 淘汰:如果 Android 安全性公告 (ASB) 定義的 LTS 需求導致分支版本不相容,該分支版本就會遭到淘汰。系統不會接受已淘汰分支的重製要求。
    • 特定 GKI 發布分支的淘汰日期會列在「發布」下方的每季 GKI 發布子版本建構作業注意事項中。舉例來說,2025 年 9 月發布的版本支援重新發布,直到 2027 年 3 月為止。這個日期反映了 LTS 2.0 核心版本的生命週期,2025 年 9 月起推出的版本為 18 個月 (2025 年 9 月前推出的版本為 12 個月)。
  • 範圍:僅限緊急修正錯誤、更新符號清單,或套用修補程式修正現有功能時,才可要求重新建構。
  • 16 KB GKI 版本:支援的 16 KB GKI 分支版本 (android15-6.6、android16-6.12 和 android17-6.18) 的隨選重製版本,與 4 KB 建構版本遵循相同的重製要求表單、修補程式提交標準和資格程序。您不需要同時更新 4 KB 和 16 KB 核心,但建議您這麼做。

修補程式提交標準

為符合重新發布要求處理作業的預期標準解決時間 (ESRT),提交至發布分支版本的所有修補程式都必須遵守下列技術規則。

可靠資料來源和挑選

  • 先開發分支版本:所有要併入季發布分支版本的修補程式,都必須先併入主要 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,並記錄為解決衝突所執行的作業,請參閱「從主線 Linux 進行回溯移植的規定」。

優先順序和 ESRT

為重新旋轉要求指派優先順序 (緊急程度),協助 GKI 團隊判斷優先順序。這項優先順序可協助 GKI 團隊及時為合作夥伴提供更完善的服務。

  • 如果是重大問題或要求本身具有時效性,請將優先順序標示為 P0。
  • 如果是 P0 和 P1 要求,您也必須說明緊急程度。

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

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

SLA 政策

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

提交重新製作要求

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

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

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

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

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

    • 確認修補程式已合併至 GKI 開發分支。
    • 將修補程式套用至適當的 GKI 發布分支。
    • 修改精選修補程式,加入 Bug: XYZ 標記,並引用重新建構要求 ID。

    範例: 如要從 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 團隊會合併、建構、測試迴歸,並認證變更。
    • 版本: