Android参考之代号、标签和版本号

代码流水线、分支和版本

Android 开源项目 (AOSP) 维护着一个全面的软件堆栈,OEM 和其他设备实现者可移植并在自己的硬件上运行该堆栈。为了维持 Android 项目的质量,Google 分派了全职工程师、产品经理、界面设计师、质量保证测试人员以及更多相关人员(将新型设备推向市场所需的所有其他角色)来负责相关工作。

相应地,我们还维护着多个代码流水线,以便明确区分当前稳定版 Android 与不稳定的实验性版本。我们将 Android 代码流水线的开放源代码管理和维护工作纳入到了更大的产品开发周期中。

AOSP 代码管理

下图描述了 AOSP 代码管理和版本背后的概念。

代码流水线示意图

图 1 AOSP 代码和版本

  1. 在任何特定时刻,Android 平台都有一个当前最新版本。该版本通常作为树中的一个分支。
  2. 设备制造商和贡献者会以当前最新版本为基础来修复错误、发布新设备、试验新功能等。
  3. 与此同时,Google 会根据产品的需求和目标,在内部开发下一版 Android 平台和框架。开发下一版 Android 时,我们会与设备合作伙伴协作,在旗舰设备上推出新版 Android,旗舰设备的规格经过深思熟虑,旨在推动 Android 朝着我们希望的方向发展。
  4. 当第 n+1 版准备就绪时,它就会发布到公开源代码树,成为新的最新版本。

注意:我们使用“代码流水线”而不是“分支”,只是因为在任何特定时刻,特定“代码流水线”可能有多个分支。例如,当某个版本定型时,它可能会(也可能不会)根据当前需要变为新的分支。

术语和注意事项

  • 一个版本对应一个正式版 Android 平台,如 1.5、2.1 等等。一个平台版本对应于 AndroidManifest.xml 文件的 SdkVersion 字段中的版本(如源代码树的 frameworks/base/api 中所定义)。
  • 上游项目是指 Android 堆栈从中提取代码的开源项目。除了 Linux 内核和 WebKit 等项目以外,我们会继续引入一些半自主性 Android 项目(如 ART、Android SDK 工具、Bionic 等)作为上游项目进行开发。一般情况下,这些项目完全是在公开树中开发的。对于某些上游项目,开发是通过直接为上游项目本身做贡献来完成的。有关详情,请参阅上游项目。在这两种情况下,快照会定期纳入版本中。
  • 在任何时候,版本代码流水线(实际上可能由 Git 中的多个真实存在的分支组成)都被视为给定 Android 平台版本的唯一规范源代码。OEM 和开发设备的其他组织应该仅从版本分支中提取源代码。
  • 实验性代码流水线是为了收集社区带来的更改,从而在保持稳定性的基础上反复进行改进。
  • 被认定为稳定的更改最终会提取到版本分支中。这仅适用于错误修复、应用改进和不影响平台 API 的其他更改。
  • 在必要时,更改将从上游项目(包括 Android 上游项目)提取到版本分支中。
  • 第 n+1 版(即框架和平台 API 的下一个重大版本)由 Google 在内部开发而成。有关详情,请参阅不公开代码流水线
  • 在必要时,更改将从上游、版本和实验性分支提取到 Google 的不公开分支。
  • 当下一版本的平台 API 已经稳定并经过全面测试后,Google 会针对下一版平台定型一个版本(特别是新的 SdkVersion)。这个版本将对应于作为公开版本分支的内部代码流水线和新的当前平台代码流水线。
  • 当某个新的平台版本定型时,Google 会同时创建相应的实验性代码流水线。

不公开代码流水线

上述源代码管理策略谈到了 Google 会维护一个不公开的代码流水线,以将注意力集中在 Android 的当前公开版本上。

OEM 和其他设备制造商自然希望发布搭载最新版 Android 的设备。同样,如非必要,应用开发者也不希望处理更多个平台版本。与此同时,Google 要负责把握 Android 作为平台和产品的战略方向。我们的做法侧重于在少量旗舰设备上推进功能的演化,同时确保与 Android 相关的知识产权得到妥善保护。

如此一来,Google 经常掌握来自第三方的机密信息;在确保采取适当的保护措施之前,我们必须避免泄露敏感功能。此外,同时存在太多平台版本会给平台带来真正的风险。考虑到这些因素,我们构建了开源项目(包含第三方贡献的内容),以专注于目前公开的稳定版 Android。下一版平台的深度开发将会私下进行,直到一切就绪,最终成为正式版本。

我们意识到,许多贡献者不同意这种做法,我们也尊重他们的不同观点。不过,这是我们认为的最佳方式,我们也选择以这种方式实现 Android。

https://source.android.com/setup/start/build-numbers#source-code-tags-and-builds

代号、标签和版本号

Android 的开发是围绕着版本系列进行的,这些版本使用美味的点心名称(按字母顺序)作为代号。

平台代号、版本、API 级别和 NDK 版本

为方便起见,代号与以下版本号、API 级别和 NDK 版本相对应:

代号版本API 级别
Oreo8.1.0API 级别 27
Oreo8.0.0API 级别 26
Nougat7.1API 级别 25
Nougat7.0API 级别 24
Marshmallow6.0API 级别 23
Lollipop5.1API 级别 22
Lollipop5.0API 级别 21
KitKat4.4-4.4.4API 级别 19
Jelly Bean4.3.xAPI 级别 18
Jelly Bean4.2.xAPI 级别 17
Jelly Bean4.1.xAPI 级别 16
Ice Cream Sandwich4.0.3-4.0.4API 级别 15,NDK 8
Ice Cream Sandwich4.0.1-4.0.2API 级别 14,NDK 7
Honeycomb3.2.xAPI 级别 13
Honeycomb3.1API 级别 12,NDK 6
Honeycomb3.0API 级别 11
Gingerbread2.3.3-2.3.7API 级别 10
Gingerbread2.3-2.3.2API 级别 9,NDK 5
Froyo2.2.xAPI 级别 8,NDK 4
Eclair2.1API 级别 7,NDK 3
Eclair2.0.1API 级别 6
Eclair2.0API 级别 5
Donut1.6API 级别 4,NDK 2
Cupcake1.5API 级别 3,NDK 1
(无代号)1.1API 级别 2
(无代号)1.0API 级别 1

在 Android 8.0 (Oreo) 及更高版本中,每个细分版本均采用细分版本号格式 PVBB.YYMMDD.bbb[.Cn],其中:

  • P 表示平台版本代号的第一个字母,例如 O 表示 Oreo。
  • V 表示支持的行业。按照惯例,P 表示主要平台分支。
  • BB 表示由字母和数字组成的代码,Google 可通过该代码识别相应细分版本所属的确切代码分支。
  • YYMMDD 表示相应版本从开发分支细分出来或与开发分支同步的日期。它并不一定是细分版本的确切构建日起,因为 Google 常常会在现有细分版本中增加细微的更改,并在新细分版本中重复使用与现有细分版本相同的日期代码。
  • bbb 表示具有相同日期代码的不同版本,从 001 开始。
  • Cn 是可选的字母数字,表示在现有 PVBB.YYMMDD.bbb 细分版本之上编译的修补程序,从 A1 开始。

旧版 Android 系统使用的是另一种更简短的细分版本 ID 代码(如 FRF85B),其中:

  • 第一个字母代表相应版本系列的代号,例如 F 表示 Froyo。
  • 第二个字母是分支代码,Google 用它来表示细分版本所属的确切代号分支。按照惯例,R 表示主要版本分支。
  • 第三个字母和后面的两个数字是日期代码。字母表示季度(A = 2009 年第 1 季度,F = 2010 年第 2 季度,以此类推)。两个数字表示相应季度内的第某天(F85 表示 2010 年 6 月 24 日)。它并不一定是细分版本的确切构建日起,因为 Google 常常会在现有细分版本中增加细微的更改,并在新细分版本中重复使用与现有细分版本相同的日期代码。
  • 末尾字母表示具有相同日期代码的不同版本,从 A 开始(A 并不会显示,通常会为了简洁而省略)。

源代码标记和细分版本

下表完整列出了从 Donut 开始的标记和细分版本。

注意:要下载 Nexus 和 Pixel 设备的出厂映像驱动程序以及完整的 OTA 映像,请参阅 Android 开发者网站

细分版本分支版本支持的设备
OPM6.171019.030.E1android-8.1.0_r41OreoNexus 5X 和 Nexus 6P
OPM4.171019.021.R1android-8.1.0_r40OreoPixel 2 XL
OPM4.171019.021.第一季android-8.1.0_r39OreoPixel 2
OPM4.171019.021.P1android-8.1.0_r38OreoPixel、Pixel XL
OPM4.171019.021.N1android-8.1.0_r37OreoPixel C
OPM2.171026.006.H1android-8.1.0_r36OreoPixel 2 XL
OPM2.171026.006.Google Oneandroid-8.1.0_r35OreoPixel 2
OPM6.171019.030.B1android-8.1.0_r33OreoNexus 6P、Nexus 5X
OPM4.171019.021.E1android-8.1.0_r32OreoPixel 2 XL、Pixel 2
OPM4.171019.021.D1android-8.1.0_r31OreoPixel XL、Pixel
OPM2.171026.006.C1android-8.1.0_r30OreoPixel 2 XL、Pixel 2
OPM4.171019.016.C1android-8.1.0_r29OreoPixel C
OPM4.171019.016.B1android-8.1.0_r28OreoPixel XL、Pixel、Pixel 2 XL、Pixel 2
OPM4.171019.016.A1android-8.1.0_r27OreoNexus 5X
OPM2.171019.029.B1android-8.1.0_r26OreoPixel 2 XL、Pixel 2
OPM2.171019.029.A1android-8.1.0_r25OreoNexus 6P
OPM4.171019.015.A1android-8.1.0_r23OreoPixel 2 XL、Pixel 2
OPM5.171019.019android-8.1.0_r22OreoNexus 6P
OPM3.171019.019android-8.1.0_r21OreoNexus 6P
OPM2.171019.029android-8.1.0_r20OreoPixel 2 XL、Pixel 2、Pixel XL、Pixel、Nexus 5X
OPM1.171019.026android-8.1.0_r19OreoPixel C
OPM5.171019.017android-8.1.0_r18OreoNexus 5X、Nexus 6P
OPM3.171019.016android-8.1.0_r17OreoNexus 5X、Nexus 6P
OPM1.171019.022.A1android-8.1.0_r16OreoPixel C
OPM1.171019.021android-8.1.0_r15OreoPixel 2 XL、Pixel 2、Pixel XL、Pixel
OPM5.171019.015android-8.1.0_r14OreoNexus 5X、Nexus 6P
OPM3.171019.014android-8.1.0_r13OreoNexus 5X、Nexus 6P
OPM1.171019.019android-8.1.0_r12OreoPixel 2
OPM1.171019.018android-8.1.0_r11OreoPixel 2 XL
OPM1.171019.016android-8.1.0_r10OreoPixel、Pixel XL、Pixel C
OPM5.171019.014android-8.1.0_r9OreoNexus 5X、Nexus 6P
OPM2.171019.016android-8.1.0_r8OreoPixel 2
OPM3.171019.013android-8.1.0_r7OreoNexus 5X、Nexus 6P
OPM1.171019.015android-8.1.0_r6OreoPixel C
OPM1.171019.014android-8.1.0_r5OreoPixel 2 XL、Pixel 2、Pixel XL、Pixel
OPM1.171019.013android-8.1.0_r4OreoPixel 2 XL、Pixel 2
OPM1.171019.012android-8.1.0_r3OreoPixel XL、Pixel
OPM2.171019.012android-8.1.0_r2OreoPixel 2 XL、Pixel 2
OPM1.171019.011android-8.1.0_r1OreoPixel 2 XL、Pixel 2、Pixel XL、Pixel、Pixel C、Nexus 6P、Nexus 5X
OPR5.170623.014android-8.0.0_r36OreoNexus 6P
OPR4.170623.020android-8.0.0_r35OreoNexus 5X
OPD3.170816.023android-8.0.0_r34OreoPixel 2 XL、Pixel 2
OPD1.170816.025android-8.0.0_r33OreoPixel 2 XL、Pixel 2
OPR6.170623.023android-8.0.0_r32OreoNexus 5X
OPR5.170623.011android-8.0.0_r31OreoNexus 6P
OPR3.170623.013android-8.0.0_r30OreoPixel XL、Pixel
OPR2.170623.027android-8.0.0_r29OreoNexus Player
OPR1.170623.032android-8.0.0_r28OreoPixel XL、Pixel、Pixel C
OPD3.170816.016android-8.0.0_r27OreoPixel 2
OPD2.170816.015android-8.0.0_r26OreoPixel 2
OPD1.170816.018android-8.0.0_r25OreoPixel 2
OPD3.170816.012android-8.0.0_r24OreoPixel 2 XL、Pixel 2
OPD1.170816.012android-8.0.0_r23OreoPixel 2 XL、Pixel 2
OPD1.170816.011android-8.0.0_r22OreoPixel 2 XL、Pixel 2
OPD1.170816.010android-8.0.0_r21OreoPixel 2 XL、Pixel 2
OPR5.170623.007android-8.0.0_r17OreoNexus 6P
OPR4.170623.009android-8.0.0_r16OreoNexus 5X
OPR3.170623.008android-8.0.0_r15OreoPixel XL、Pixel
OPR1.170623.027android-8.0.0_r13OreoPixel XL、Pixel、Pixel C
OPR6.170623.021android-8.0.0_r12OreoNexus Player
OPR6.170623.019android-8.0.0_r11OreoNexus 6P
OPR4.170623.006android-8.0.0_r10OreoNexus 5X
OPR3.170623.007android-8.0.0_r9OreoPixel XL、Pixel
OPR1.170623.026android-8.0.0_r7OreoPixel XL、Pixel、Pixel C
OPR6.170623.013android-8.0.0_r4OreoNexus 5X、Nexus 6P
OPR6.170623.012android-8.0.0_r3OreoPixel XL、Pixel
OPR6.170623.011android-8.0.0_r2OreoPixel XL、Pixel
OPR6.170623.010android-8.0.0_r1OreoPixel C
N2G48Handroid-7.1.2_r36Nougat 
NZH54Dandroid-7.1.2_r33NougatPixel XL、Pixel
NKG47Sandroid-7.1.2_r32NougatPixel XL、Pixel
NHG47Qandroid-7.1.2_r30NougatPixel XL、Pixel
NJH47Fandroid-7.1.2_r29NougatPixel XL、Pixel
N2G48Candroid-7.1.2_r28NougatNexus 5X、Nexus 6P、Nexus Player、Pixel C
NZH54Bandroid-7.1.2_r27NougatPixel XL、Pixel
NKG47Mandroid-7.1.2_r25NougatPixel XL、Pixel
NJH47Dandroid-7.1.2_r24NougatPixel XL、Pixel
NHG47Oandroid-7.1.2_r23NougatPixel XL、Pixel
N2G48Bandroid-7.1.2_r19NougatNexus 6P、Nexus Player、Pixel C
N2G47Zandroid-7.1.2_r18NougatNexus 5X
NJH47Bandroid-7.1.2_r17NougatPixel XL、Pixel
NJH34Candroid-7.1.2_r16NougatPixel XL、Pixel
NKG47Landroid-7.1.2_r15NougatPixel XL、Pixel
NHG47Nandroid-7.1.2_r14NougatPixel XL、Pixel
N2G47Xandroid-7.1.2_r13NougatNexus Player
N2G47Wandroid-7.1.2_r12NougatNexus 5X、Nexus 6P、Pixel C
NHG47Landroid-7.1.2_r11NougatPixel XL、Pixel
N2G47Tandroid-7.1.2_r10NougatPixel XL、Pixel
N2G47Randroid-7.1.2_r9NougatNexus Player
N2G47Oandroid-7.1.2_r8NougatNexus 5X、Nexus 6P、Pixel XL、Pixel、Pixel C
NHG47Kandroid-7.1.2_r6NougatPixel XL、Pixel
N2G47Jandroid-7.1.2_r5NougatPixel XL、Pixel
N2G47Handroid-7.1.2_r4NougatNexus 6P、Nexus Player
N2G47Fandroid-7.1.2_r3NougatNexus 5X
N2G47Eandroid-7.1.2_r2NougatPixel XL、Pixel
N2G47Dandroid-7.1.2_r1NougatPixel C
N9F27Mandroid-7.1.1_r58NougatNexus 9 (volantis)
NGI77Bandroid-7.1.1_r57NougatNexus 6
N8I11Fandroid-7.1.1_r56NougatNexus 6
N6F27Mandroid-7.1.1_r55NougatNexus 6
N4F27Pandroid-7.1.1_r54NougatNexus 9 (volantisg)
N9F27Landroid-7.1.1_r53NougatNexus 9
NGI55Dandroid-7.1.1_r52NougatNexus 6
N4F27Oandroid-7.1.1_r51NougatNexus 9 (volantisg)
N8I11Bandroid-7.1.1_r50NougatNexus 6
N9F27Handroid-7.1.1_r49NougatNexus 9 (volantis)
N6F27Iandroid-7.1.1_r48NougatNexus 6
N4F27Kandroid-7.1.1_r47NougatNexus 9 (volantisg)
N9F27Fandroid-7.1.1_r46NougatNexus 9 (volantis)
N6F27Handroid-7.1.1_r45NougatNexus 6
N4F27Iandroid-7.1.1_r44NougatNexus 9 (volantisg)
N9F27Candroid-7.1.1_r43NougatNexus 9 (volantis)
N6F27Eandroid-7.1.1_r42NougatNexus 6
N4F27Eandroid-7.1.1_r41NougatNexus 9 (volantisg)
N6F27Candroid-7.1.1_r40NougatNexus 6
N4F27Bandroid-7.1.1_r39NougatNexus 9 (volantis/volantisg)
N6F26Yandroid-7.1.1_r38NougatNexus 6
NOF27Dandroid-7.1.1_r35NougatPixel XL、Pixel
N4F26Xandroid-7.1.1_r33NougatNexus 9 (volantis/volantisg)
N4F26Uandroid-7.1.1_r31NougatNexus 5X、Nexus 6P
N6F26Uandroid-7.1.1_r28NougatNexus 6
NUF26Nandroid-7.1.1_r27NougatNexus 6P
NOF27Candroid-7.1.1_r26NougatPixel XL、Pixel
NOF27Bandroid-7.1.1_r25NougatPixel XL、Pixel
N4F26Tandroid-7.1.1_r24NougatNexus 5X、Nexus 6P、Nexus 9 (volantis/volantisg)、Pixel C
NMF27Dandroid-7.1.1_r23NougatNexus Player
NMF26Xandroid-7.1.1_r22NougatNexus Player
NOF26Wandroid-7.1.1_r21NougatPixel XL、Pixel
NOF26Vandroid-7.1.1_r20NougatPixel XL、Pixel
N6F26Randroid-7.1.1_r17NougatNexus 6
NUF26Kandroid-7.1.1_r16NougatNexus 6P
N4F26Qandroid-7.1.1_r15NougatNexus 9 (volantis/volantisg)
N4F26Oandroid-7.1.1_r14NougatNexus 5X、Nexus 6P、Pixel C
N6F26Qandroid-7.1.1_r13NougatNexus 6
N4F26Mandroid-7.1.1_r12NougatNexus 9 (volantis)
N4F26Jandroid-7.1.1_r11NougatNexus 5X、Nexus 6P
N4F26Iandroid-7.1.1_r10NougatNexus 5X、Nexus 6P、Pixel C
NMF26Vandroid-7.1.1_r9NougatPixel XL、Pixel
NMF26Uandroid-7.1.1_r8NougatPixel XL、Pixel
NMF26Randroid-7.1.1_r7NougatNexus Player
NMF26Qandroid-7.1.1_r6NougatPixel XL、Pixel
NMF26Oandroid-7.1.1_r4NougatPixel XL、Pixel
NMF26Jandroid-7.1.1_r3NougatNexus Player
NMF26Handroid-7.1.1_r2NougatPixel C
NMF26Fandroid-7.1.1_r1NougatNexus 5X、Nexus 6P、Nexus 9 (volantis/volantisg)
NDE63Xandroid-7.1.0_r7NougatPixel XL、Pixel
NDE63Vandroid-7.1.0_r6NougatPixel XL、Pixel
NDE63Uandroid-7.1.0_r5NougatPixel XL、Pixel
NDE63Pandroid-7.1.0_r4NougatPixel XL、Pixel
NDE63Landroid-7.1.0_r2NougatPixel XL、Pixel
NDE63Handroid-7.1.0_r1NougatPixel XL、Pixel
NBD92Qandroid-7.0.0_r35Nougat 
NBD92Nandroid-7.0.0_r34Nougat 
NBD92Gandroid-7.0.0_r33NougatNexus 6
NBD92Fandroid-7.0.0_r32NougatNexus 6
NBD92Eandroid-7.0.0_r31NougatNexus 6
NBD92Dandroid-7.0.0_r30NougatNexus 6
NBD91Zandroid-7.0.0_r29NougatNexus 6
NBD91Yandroid-7.0.0_r28NougatNexus 6
NBD91Xandroid-7.0.0_r27NougatNexus 6
NBD91Uandroid-7.0.0_r24NougatNexus 6
N5D91Landroid-7.0.0_r21NougatNexus 5X
NBD91Pandroid-7.0.0_r19NougatNexus 6
NRD91Kandroid-7.0.0_r17NougatNexus 6P
NRD91Nandroid-7.0.0_r15NougatNexus 5X、Pixel C、Nexus Player、Nexus 9 (volantis/volantisg)
NBD90Zandroid-7.0.0_r14NougatNexus 6
NBD90Xandroid-7.0.0_r13NougatNexus 6P
NBD90Wandroid-7.0.0_r12NougatNexus 5X
NRD91Dandroid-7.0.0_r7NougatPixel C、Nexus Player、Nexus 9 (WLAN)
NRD90Uandroid-7.0.0_r6NougatNexus 6P
NRD90Tandroid-7.0.0_r5NougatNexus 6P
NRD90Sandroid-7.0.0_r4NougatNexus 5X
NRD90Randroid-7.0.0_r3NougatNexus 5X、Nexus 9 (volantis)、Nexus Player、Pixel C
NRD90Mandroid-7.0.0_r1NougatNexus 5X、Nexus 9 (volantis)、Nexus Player、Pixel C
MOI10Eandroid-6.0.1_r81Marshmallow 
MOB31Zandroid-6.0.1_r80Marshmallow 
MOB31Tandroid-6.0.1_r79MarshmallowNexus 6
MOB31Sandroid-6.0.1_r78MarshmallowNexus 6
M4B30Zandroid-6.0.1_r77MarshmallowNexus 5
MOB31Kandroid-6.0.1_r74MarshmallowNexus 6
MMB31Candroid-6.0.1_r73MarshmallowNexus 6
M4B30Xandroid-6.0.1_r72MarshmallowNexus 5
MOB31Handroid-6.0.1_r70MarshmallowNexus 6
MMB30Yandroid-6.0.1_r69MarshmallowNexus 6
MTC20Kandroid-6.0.1_r67MarshmallowNexus 5X
MOB31Eandroid-6.0.1_r66MarshmallowNexus 5、Nexus 6、Nexus 9 (volantis)
MMB30Wandroid-6.0.1_r65MarshmallowNexus 6
MXC89Landroid-6.0.1_r63MarshmallowPixel C
MTC20Fandroid-6.0.1_r62MarshmallowNexus 5X、Nexus 6P
MOB30Yandroid-6.0.1_r60MarshmallowNexus 5
MOB30Xandroid-6.0.1_r59MarshmallowNexus 7 (flo/deb)
MOB30Wandroid-6.0.1_r58MarshmallowNexus 6、Nexus 9 (volantis/volantisg)、Nexus Player
MMB30Sandroid-6.0.1_r57MarshmallowNexus 7 (deb)
MMB30Randroid-6.0.1_r56MarshmallowNexus 6
MXC89Kandroid-6.0.1_r55MarshmallowPixel C
MTC19Zandroid-6.0.1_r54MarshmallowNexus 5X
MTC19Xandroid-6.0.1_r53MarshmallowNexus 6P
MOB30Pandroid-6.0.1_r50MarshmallowNexus 5、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)、Nexus Player
MOB30Oandroid-6.0.1_r49MarshmallowNexus 6
MMB30Mandroid-6.0.1_r48MarshmallowNexus 7 (deb)
MMB30Kandroid-6.0.1_r47MarshmallowNexus 6
MOB30Mandroid-6.0.1_r46MarshmallowNexus 5、Nexus 6、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)、Nexus Player
MTC19Vandroid-6.0.1_r45MarshmallowNexus 5X、Nexus 6P
MOB30Jandroid-6.0.1_r43MarshmallowNexus 7 (flo/deb)
MOB30Iandroid-6.0.1_r42MarshmallowNexus 6
MOB30Handroid-6.0.1_r41MarshmallowNexus 5
MOB30Gandroid-6.0.1_r40MarshmallowNexus 9 (volantis/volantisg)、Nexus Player
MXC89Handroid-6.0.1_r33MarshmallowPixel C
MXC89Fandroid-6.0.1_r32MarshmallowPixel C
MMB30Jandroid-6.0.1_r28MarshmallowNexus 6、Nexus 7 (deb)
MTC19Tandroid-6.0.1_r25MarshmallowNexus 5X、Nexus 6P
M5C14Jandroid-6.0.1_r31MarshmallowPixel C
MOB30Dandroid-6.0.1_r30MarshmallowNexus 5、Nexus 6、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)、Nexus Player
MHC19Qandroid-6.0.1_r24MarshmallowNexus 5X、Nexus 6P
MHC19Jandroid-6.0.1_r22MarshmallowNexus 5X
MHC19Iandroid-6.0.1_r21MarshmallowNexus 6P
MMB29Xandroid-6.0.1_r20MarshmallowNexus 5、Nexus 6、Nexus 7 (deb)、Nexus 9 (volantisg)
MXC14Gandroid-6.0.1_r18MarshmallowPixel C
MMB29Vandroid-6.0.1_r17MarshmallowNexus 5、Nexus 5X、Nexus 6、Nexus 6P、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)
MXB48Tandroid-6.0.1_r16MarshmallowPixel C
MMB29Uandroid-6.0.1_r13MarshmallowNexus Player
MMB29Randroid-6.0.1_r12MarshmallowNexus 9 (volantis/volantisg)
MMB29Qandroid-6.0.1_r11MarshmallowNexus 5、Nexus 5X、Nexus 6、Nexus 6P、Nexus 7 (flo/deb)
MMB29Tandroid-6.0.1_r10MarshmallowNexus Player
MMB29Sandroid-6.0.1_r9MarshmallowNexus 5、Nexus 6、Nexus 9 (volantis/volantisg)
MMB29Pandroid-6.0.1_r8MarshmallowNexus 5X、Nexus 6P
MMB29Oandroid-6.0.1_r7MarshmallowNexus 7 (flo/deb)
MXB48Kandroid-6.0.1_r5MarshmallowPixel C
MXB48Jandroid-6.0.1_r4MarshmallowPixel C
MMB29Mandroid-6.0.1_r3MarshmallowNexus 6P、Nexus Player
MMB29Kandroid-6.0.1_r1MarshmallowNexus 5、Nexus 5X、Nexus 6、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)
MMB29Nandroid-6.0.0_r41MarshmallowNexus 6P
MDB08Mandroid-6.0.0_r26MarshmallowNexus 5X、Nexus 6P
MDB08Landroid-6.0.0_r25MarshmallowNexus 5X、Nexus 6P
MDB08Kandroid-6.0.0_r24MarshmallowNexus 6P
MDB08Iandroid-6.0.0_r23MarshmallowNexus 5X
MDA89Eandroid-6.0.0_r12MarshmallowNexus 5X
MDA89Dandroid-6.0.0_r11MarshmallowNexus 6P
MRA59Bandroid-6.0.0_r7MarshmallowNexus 7 (deb)
MRA58Xandroid-6.0.0_r6MarshmallowNexus 6
MRA58Vandroid-6.0.0_r5MarshmallowNexus 7 (flo/deb)
MRA58Uandroid-6.0.0_r4MarshmallowNexus 7 (flo)
MRA58Nandroid-6.0.0_r2MarshmallowNexus 5、Nexus 6、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)、Nexus Player
MRA58Kandroid-6.0.0_r1MarshmallowNexus 5、Nexus 6、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)、Nexus Player
LMY49Mandroid-5.1.1_r38LollipopNexus 10
LMY49Jandroid-5.1.1_r37LollipopNexus 10
LMY49Iandroid-5.1.1_r36LollipopNexus 10
LMY49Handroid-5.1.1_r35LollipopNexus 10
LMY49Gandroid-5.1.1_r34LollipopNexus 10
LMY49Fandroid-5.1.1_r33LollipopNexus 9 (volantisg)、Nexus 10
LMY48Zandroid-5.1.1_r30LollipopNexus 6、Nexus 7 (deb)、Nexus 9 (volantisg)、Nexus 10
LYZ28Nandroid-5.1.1_r28LollipopNexus 6(仅面向 T-Mobile)
LMY48Yandroid-5.1.1_r26LollipopNexus 6
LMY48Xandroid-5.1.1_r25LollipopNexus 6、Nexus 7 (deb)、Nexus 9 (volantisg)、Nexus 10
LMY48Wandroid-5.1.1_r24LollipopNexus 6
LVY48Handroid-5.1.1_r23LollipopNexus 6(仅面向 Project Fi)
LYZ28Mandroid-5.1.1_r22LollipopNexus 6(仅面向 T-Mobile)
LMY48Uandroid-5.1.1_r20LollipopNexus 7 (deb)
LMY48Tandroid-5.1.1_r19LollipopNexus 4、Nexus 6、Nexus 9 (volantis/volantisg)、Nexus 10
LVY48Fandroid-5.1.1_r18LollipopNexus 6(仅面向 Project Fi)
LYZ28Kandroid-5.1.1_r17LollipopNexus 6(仅面向 T-Mobile)
LMY48Pandroid-5.1.1_r16LollipopNexus 7 (deb)
LMY48Nandroid-5.1.1_r15LollipopNexus Player
LMY48Mandroid-5.1.1_r14LollipopNexus 4、Nexus 5、Nexus 6、Nexus 7 (flo)、Nexus 9 (volantis/volantisg)、Nexus 10
LVY48Eandroid-5.1.1_r13LollipopNexus 6(仅面向 Project Fi)
LYZ28Jandroid-5.1.1_r12LollipopNexus 6(仅面向 T-Mobile)
LMY48Jandroid-5.1.1_r10LollipopNexus Player
LMY48Iandroid-5.1.1_r9LollipopNexus 4、Nexus 5、Nexus 6、Nexus 7 (flo)、Nexus 9 (volantis/volantisg)、Nexus 10
LVY48Candroid-5.1.1_r8LollipopNexus 6(仅面向 Project Fi)
LMY48Gandroid-5.1.1_r6LollipopNexus 7 (flo)
LYZ28Eandroid-5.1.1_r5LollipopNexus 6(仅面向 T-Mobile)
LMY47Zandroid-5.1.1_r4LollipopNexus 6(面向除 T-Mobile(美国)之外的所有运营商)
LMY48Bandroid-5.1.1_r3LollipopNexus 5
LMY47Xandroid-5.1.1_r2LollipopNexus 9 (volantis)
LMY47Vandroid-5.1.1_r1LollipopNexus 7 (flo/grouper)、Nexus 10、Nexus Player
LMY47Oandroid-5.1.0_r5LollipopNexus 4、Nexus 7 (flo/deb)
LMY47Mandroid-5.1.0_r4LollipopNexus 6(仅面向 T-Mobile)
LMY47Iandroid-5.1.0_r3LollipopNexus 5、Nexus 6
LMY47Eandroid-5.1.0_r2LollipopNexus 6
LMY47Dandroid-5.1.0_r1LollipopNexus 5、Nexus 6、Nexus 7 (grouper/tilapia)、Nexus 10、Nexus Player
LRX22Landroid-5.0.2_r3LollipopNexus 9 (volantis/volantisg)
LRX22Gandroid-5.0.2_r1LollipopNexus 7 (flo/deb/grouper/tilapia)、Nexus 10
LRX22Candroid-5.0.1_r1LollipopNexus 4、Nexus 5、Nexus 6 (shamu)、Nexus 7 (flo)、Nexus 9 (volantis/volantisg)、Nexus 10
LRX21Vandroid-5.0.0_r7.0.1LollipopNexus Player (fugu)
LRX21Tandroid-5.0.0_r6.0.1LollipopNexus 4
LRX21Randroid-5.0.0_r5.1.0.1LollipopNexus 9 (volantis)
LRX21Qandroid-5.0.0_r5.0.1LollipopNexus 9 (volantis)
LRX21Pandroid-5.0.0_r4.0.1LollipopNexus 7 (flo/grouper)、Nexus 10
LRX21Oandroid-5.0.0_r3.0.1LollipopNexus 5 (hammerhead)、Nexus 6 (shamu)
LRX21Mandroid-5.0.0_r2.0.1LollipopNexus Player (fugu)
LRX21Landroid-5.0.0_r1.0.1LollipopNexus 9 (volantis)
KTU84Qandroid-4.4.4_r2KitKatNexus 5 (hammerhead)(仅面向新西兰的 2Degrees、澳大利亚的 Telstra 和印度)
KTU84Pandroid-4.4.4_r1KitKatNexus 5、Nexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10
KTU84Mandroid-4.4.3_r1.1KitKatNexus 5 (hammerhead)
KTU84Landroid-4.4.3_r1KitKatNexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10
KVT49Landroid-4.4.2_r2KitKatNexus 7 (deb Verizon)
KOT49Handroid-4.4.2_r1KitKatNexus 5、Nexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10
KOT49Eandroid-4.4.1_r1KitKatNexus 5、Nexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10
KRT16Sandroid-4.4_r1.2KitKatNexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10
KRT16Mandroid-4.4_r1KitKatNexus 5 (hammerhead)
JLS36Iandroid-4.3.1_r1Jelly BeanNexus 7 (deb)
JLS36Candroid-4.3_r3Jelly BeanNexus 7 (deb)
JSS15Randroid-4.3_r2.3Jelly BeanNexus 7 (flo)
JSS15Qandroid-4.3_r2.2Jelly BeanNexus 7 (flo)
JSS15Jandroid-4.3_r2.1Jelly BeanNexus 7 (flo/deb)
JSR78Dandroid-4.3_r2Jelly BeanNexus 7 (deb)
JWR66Yandroid-4.3_r1.1Jelly BeanGalaxy Nexus、Nexus 7 (grouper/tilapia)、Nexus 4、Nexus 10
JWR66Vandroid-4.3_r1Jelly BeanGalaxy Nexus、Nexus 7 (grouper/tilapia)、Nexus 4、Nexus 10
JWR66Nandroid-4.3_r0.9.1Jelly BeanGalaxy Nexus、Nexus 7 (grouper/tilapia/flo)、Nexus 4、Nexus 10
JWR66Landroid-4.3_r0.9Jelly BeanNexus 7
JDQ39Eandroid-4.2.2_r1.2Jelly BeanNexus 4
JDQ39Bandroid-4.2.2_r1.1Jelly BeanNexus 7
JDQ39android-4.2.2_r1Jelly BeanGalaxy Nexus、Nexus 7、Nexus 4、Nexus 10
JOP40Gandroid-4.2.1_r1.2Jelly BeanNexus 4
JOP40Fandroid-4.2.1_r1.1Jelly BeanNexus 10
JOP40Dandroid-4.2.1_r1Jelly BeanGalaxy Nexus、Nexus 7、Nexus 4、Nexus 10
JOP40Candroid-4.2_r1Jelly BeanGalaxy Nexus、Nexus 7、Nexus 4、Nexus 10
JZO54Mandroid-4.1.2_r2.1Jelly Bean 
JZO54Landroid-4.1.2_r2Jelly Bean 
JZO54Kandroid-4.1.2_r1Jelly BeanNexus S、Galaxy Nexus、Nexus 7
JRO03Sandroid-4.1.1_r6.1Jelly BeanNexus 7
JRO03Randroid-4.1.1_r6Jelly BeanNexus S 4G
JRO03Oandroid-4.1.1_r5Jelly BeanGalaxy Nexus
JRO03Landroid-4.1.1_r4Jelly BeanNexus S
JRO03Handroid-4.1.1_r3Jelly Bean 
JRO03Eandroid-4.1.1_r2Jelly BeanNexus S
JRO03Dandroid-4.1.1_r1.1Jelly BeanNexus 7
JRO03Candroid-4.1.1_r1Jelly BeanGalaxy Nexus
IMM76Landroid-4.0.4_r2.1Ice Cream Sandwich 
IMM76Kandroid-4.0.4_r2Ice Cream SandwichGalaxy Nexus
IMM76Iandroid-4.0.4_r1.2Ice Cream SandwichGalaxy Nexus
IMM76Dandroid-4.0.4_r1.1Ice Cream SandwichNexus S、Nexus S 4G、Galaxy Nexus
IMM76android-4.0.4_r1Ice Cream Sandwich 
IML77android-4.0.3_r1.1Ice Cream Sandwich 
IML74Kandroid-4.0.3_r1Ice Cream SandwichNexus S
ICL53Fandroid-4.0.2_r1Ice Cream SandwichGalaxy Nexus
ITL41Fandroid-4.0.1_r1.2Ice Cream SandwichGalaxy Nexus
ITL41Dandroid-4.0.1_r1.1Ice Cream SandwichGalaxy Nexus
ITL41Dandroid-4.0.1_r1Ice Cream SandwichGalaxy Nexus
GWK74android-2.3.7_r1GingerbreadNexus S 4G
GRK39Fandroid-2.3.6_r1GingerbreadNexus One、Nexus S
GRK39Candroid-2.3.6_r0.9GingerbreadNexus S
GRJ90android-2.3.5_r1GingerbreadNexus S 4G
GRJ22android-2.3.4_r1GingerbreadNexus One、Nexus S、Nexus S 4G
GRJ06Dandroid-2.3.4_r0.9GingerbreadNexus S 4G
GRI54android-2.3.3_r1.1GingerbreadNexus S
GRI40android-2.3.3_r1GingerbreadNexus One、Nexus S
GRH78Candroid-2.3.2_r1GingerbreadNexus S
GRH78android-2.3.1_r1GingerbreadNexus S
GRH55android-2.3_r1Gingerbread使用 Gingerbread 最早期版本的设备、Nexus S
FRK76Candroid-2.2.3_r2Froyo 
FRK76android-2.2.3_r1Froyo 
FRG83Gandroid-2.2.2_r1FroyoNexus One
FRG83Dandroid-2.2.1_r2FroyoNexus One
FRG83android-2.2.1_r1FroyoNexus One
FRG22Dandroid-2.2_r1.3Froyo 
FRG01Bandroid-2.2_r1.2Froyo 
FRF91android-2.2_r1.1FroyoNexus One
FRF85Bandroid-2.2_r1FroyoNexus One
EPF21Bandroid-2.1_r2.1p2Eclair 
ESE81android-2.1_r2.1sEclair 
EPE54Bandroid-2.1_r2.1pEclairNexus One
ERE27android-2.1_r2EclairNexus One
ERD79android-2.1_r1EclairNexus One
ESD56android-2.0.1_r1Eclair 
ESD20android-2.0_r1Eclair 
DMD64android-1.6_r1.5Donut 
DRD20android-1.6_r1.4  
DRD08android-1.6_r1.3  
DRC92android-1.6_r1.2  

froyo、gingerbread、ics-mr0、ics-mr1、jb-dev、jb-mr1-dev、jb-mr1.1-dev、jb-mr2-dev 和 kitkat-dev 等分支代表与经过 Google 测试的配置不完全一致的开发分支。因此,除官方命名的版本之外,这些分支可能还包含尚未经过全面测试的各种更改。

要区分各个版本,您可以运行以下命令并指定两个分支标记,以获取与每个项目相关联的更改列表:

 

repo forall -pc 'git log --no-merges --oneline branch-1..branch-2'

例如:

 

repo forall -pc 'git log --no-merges --oneline android-4.4.2_r2..android-4.4.2_r1'

要将输出发送到文本文件,请运行以下命令:

 

repo forall -pc 'git log --no-merges --oneline android-4.4.2_r2..android-4.4.2_r1' > /tmp/android-4.4.2_r2-android-4.4.2_r1-diff.txt

Honeycomb GPL 模块

Honeycomb 的整个平台源代码未对外公开。不过,遵循 GPL 和 LGPL 许可的某些 Honeycomb 模块已对外公开,对应于如下的标记:

细分版本标记备注
HRI39android-3.0_r1Honeycomb 最早期版本
HRI66android-3.0_r1.1 
HWI69android-3.0_r1.2 
HRI83android-3.0_r1.3 
HMJ37android-3.1_r1 
HTJ85Bandroid-3.2_r1 
HTK55Dandroid-3.2.1_r1 
HTK75Dandroid-3.2.1_r2 
HLK75Candroid-3.2.2_r1 
HLK75Dandroid-3.2.2_r2 
HLK75Fandroid-3.2.4_r1 
HLK75Handroid-3.2.6_r1Honeycomb 的最新版本

我们未提供刚好包含以上模块的清单。不过,有些清单允许构建这些组件。以下命令适用于 3.0_r1.1:

 

repo init -b master -m base-for-3.0-gpl.xml repo sync repo forall -c git checkout android-3.0_r1.1

要使用其他版本,请切换 git checkout 参数,还可以在必要时切换 repo init 中的 -m 参数。对于非 GPL 项目,git checkout 命令会返回错误,因为它找不到相应的标记。

posted @ 2018-07-25 15:09  SpaceVision  阅读(255)  评论(0编辑  收藏  举报