本頁說明 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 月 15 | 3 月 15 | 3 月 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 上是否通過相容性測試。
圖 1. GKI 發布時間表
GKI 資格
| GKI 建構類型 | 品質強制執行 | 注意事項 |
|---|---|---|
| 每季 (已認證) | Cuttlefish 測試
|
|
| Respins (certified) | Cuttlefish 測試
|
|
如何取得建構成果
原始設備製造商可從 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/manifestmv manifest_7364300.xml .repo/manifestsrepo init -m manifest_7364300.xml --depth=1repo sync # build the GKI images # You may want to use LTO=thin to build faster for developmentBUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh # (optional) build virtual platform modulesBUILD_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) 一律可以在變更記錄中找到問題說明和解決方案。