通用核心映像檔 (GKI) 發布程序

本頁說明 GKI 的發布方式,包括每季發布和頻外緊急發布。本頁面旨在為原始設備製造商提供指南,說明如何取得 GKI,以及如何處理頻外緊急修正。原始設備製造商也可以透過 GKI 開發,進一步瞭解如何與 Android 核心團隊合作,為自家產品最佳化 GKI 核心。

GKI 發布頻率

KMI 凍結後,GKI 會每季發布一次。

發布月份 a12-5.10 a13-5.10 a13-5.15 a14-5.15 a14-6.1 a15-6.6* a16-6.12* a17-6.18*
2025 年
10 月
入住
截止
10 月 16 日10 月 1 日10 月 1 日
GKI 預先載入完成 10 月 31 日10 月 15 日10 月 15 日
2025 年 12 月
入住
截止
12 月 1 日12 月 1 日12 月 1 日12 月 1 日
GKI 預先載入完成 12 月 15 日12 月 15 日12 月 15 日12 月 15 日
2026 年
1 月
入住
截止
1 月 16 日1 月 2 日1 月 2 日
GKI 預先載入完成 1 月 31 日1 月 15 日1 月 15 日
2026 年
2 月
入住
截止
GKI 預先載入完成
2026 年 3 月
入住
截止
3 月 1 日3 月 1 日3 月 15
GKI 預先載入完成 3 月 153 月 153 月 31 日
2026 年 4 月
入住
截止
4 月 16 日4 月 16 日4 月 1 日4 月 1 日
GKI 預先載入完成 4 月 30 日4 月 30 日4 月 15 日4 月 15 日
2026 年 5 月
入住
截止
GKI 預先載入完成
2026 年 6 月
入住
截止
6 月 1 日6 月 15 日6 月 15 日6 月 1 日
GKI 預先載入完成 6 月 15 日6 月 30 日6 月 30 日6 月 15 日
2026 年 7 月
入住
截止
7 月 16 日7 月 16 日7 月 1 日7 月 1 日
GKI 預先載入完成 7 月 31 日7 月 31 日7 月 15 日7 月 15 日
2026 年 8 月
入住
截止
GKI 預先載入完成
2026 年 9 月
入住
截止
9 月 1 日9 月 16 日9 月 16 日9 月 1 日
GKI 預先載入完成 9 月 15 日9 月 30 日9 月 30 日9 月 15 日
2026 年 10 月
入住
截止
10 月 16 日10 月 16 日10 月 1 日10 月 1 日
GKI 預先載入完成 10 月 31 日10 月 31 日10 月 15 日10 月 15 日
2026 年 11 月
入住
截止
GKI 預先載入完成
2026 年 12 月
入住
截止
12 月 1 日12 月 1 日12 月 1 日12 月 1 日
GKI 預先載入完成 12 月 15 日12 月 15 日12 月 15 日12 月 15 日

OEM 的 GKI 建構有效性

原始設備製造商可以使用最近發布的 Android GKI。只要符合 Android 安全性公告中的長期支援 (LTS) 核心需求,原始設備製造商 (OEM) 就能推出通過 GKI 認證的建構版本。

每季認證版本

GKI 每季發布的版本都包含經過測試的 boot.img,其中含有 Google 插入的憑證,可證明二進位檔是從已知的原始碼基準建構而來。

每個季度,系統會在登記截止日期後,選取 GKI 季度候選版本 (未通過認證)。選取季候選版本後,該月發布的版本將不再接受新變更。在封閉期內,我們只會修正導致測試失敗的錯誤。如GKI 資格一節所述,候選版本會經過品質保證,以驗證 GSI+GKI 建構版本在參考裝置和 Cuttlefish 上是否通過相容性測試。

GKI 發布週期時間表 圖 1. GKI 發布時間表

GKI 資格

GKI 建構類型 品質強制執行 注意事項
每季 (已認證) Cuttlefish 測試
  • 啟動程序
  • VTS
  • CTS
參考硬體測試
  • 啟動程序
  • VTS
  • CTS
Respins (certified) Cuttlefish 測試
  • 啟動程序
  • VTS
  • CTS 子集
參考裝置測試
  • 啟動程序
  • VTS
  • 以 GKI 認證版本為基礎建構。
  • 通過資格認證後,建構作業就會獲得認證。

如何取得建構成果

原始設備製造商可從 ci.android.com 取得所有版本的構件。

如要進一步瞭解 CI,包括測試結果,請前往「Android Continuous Integration」資訊主頁。

常見問題

以下是與 GKI 發布程序相關的常見問題。

是否可以根據已發布的 GKI 建構新的 GKI 二進位檔?

可以,這就是所謂的「重新旋轉」。只要發布的 GKI 建構版本 (要求重製的對象) 符合 Android 安全性公告中的 LTS 規定,系統就支援重製程序。

可以重現 GKI 二進位檔嗎?

可以,範例如下:

GKI 2.0
5.10 kernel prebuilts from build 7364300
https://ci.android.com/builds/submitted/7364300/kernel_aarch64/latest

如要重現範例,請下載 manifest_$id.xml 並執行下列指令:

repo init -u https://android.googlesource.com/kernel/manifest
mv manifest_7364300.xml .repo/manifests
repo init -m manifest_7364300.xml --depth=1
repo sync
# build the GKI images
# You may want to use LTO=thin to build faster for development
BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
# (optional) build virtual platform modules
BUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.aarch64 build/build.sh

您可以從 out/.../dist 擷取 GKI 構件副本。

GKI 二進位檔 (包括緊急旋轉修補程式) 是否建構在最新的程式碼集上?

不會。Respin 只包含所選季度認證核心的頂層修補程式。這些重製版本包含 OEM 透過對應的季度基本版本回報的所有啟動阻礙錯誤修正。請參閱以下範例,瞭解這類情況的發生方式。

  • OEM1 和 OEM2 決定使用 2021 年 11 月的 GKI 二進位版本。
  • OEM1 和 OEM2 發現需要修補程式才能支援的問題。這些修補程式可能相同或不同。
  • 2021 年 11 月二進位檔的重新發布版本包含 OEM1 和 OEM2 在重新發布期間回報的發布阻斷修正,但僅此而已。
  • 後續的 GKI 季發布版本也會包含第二個項目符號中提及的問題。

10 月的重新發布版本包含所有 OEM 提交的修補程式,但其他 OEM 修補程式會影響我們,因為這些修補程式未經過我們產品的專門測試。是否可以只納入我們的修補程式?

這是不可能的。個別 OEM 的重製路徑無法擴充。而是會仔細檢查重製 (respin) 建構版本中的每一項變更,並使用所有可用的硬體測試變更,然後再建立新版本。如果 GKI 團隊發現問題是 OEM、裝置或型號專屬,GKI 團隊可以驗證變更新增的程式碼是否只在受影響的裝置、型號或 SKU 上執行。

統一重製 (respin) 的主要優點是,使用相同發布版本的裝置彼此互惠,尤其是當發現的錯誤是通用錯誤,適用於所有使用者時。在電信業者測試中發現的核心錯誤,就是這個概念的具體例子。

Google 是否會提供有關 OEM 修補程式和問題情境的具體資訊,協助 OEM 評估在產品中導入修補程式的影響和風險?

在 GKI 團隊瞭解問題並收集所有詳細資料之前,Google 絕不會將變更新增至重新旋轉建構版本。您可以在變更記錄 (提交訊息) 中看到這點。Google 不會揭露受影響的具體裝置,但原始設備製造商 (OEM) 一律可以在變更記錄中找到問題說明和解決方案。