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 级别
Oreo 8.1.0 API 级别 27
Oreo 8.0.0 API 级别 26
Nougat 7.1 API 级别 25
Nougat 7.0 API 级别 24
Marshmallow 6.0 API 级别 23
Lollipop 5.1 API 级别 22
Lollipop 5.0 API 级别 21
KitKat 4.4-4.4.4 API 级别 19
Jelly Bean 4.3.x API 级别 18
Jelly Bean 4.2.x API 级别 17
Jelly Bean 4.1.x API 级别 16
Ice Cream Sandwich 4.0.3-4.0.4 API 级别 15,NDK 8
Ice Cream Sandwich 4.0.1-4.0.2 API 级别 14,NDK 7
Honeycomb 3.2.x API 级别 13
Honeycomb 3.1 API 级别 12,NDK 6
Honeycomb 3.0 API 级别 11
Gingerbread 2.3.3-2.3.7 API 级别 10
Gingerbread 2.3-2.3.2 API 级别 9,NDK 5
Froyo 2.2.x API 级别 8,NDK 4
Eclair 2.1 API 级别 7,NDK 3
Eclair 2.0.1 API 级别 6
Eclair 2.0 API 级别 5
Donut 1.6 API 级别 4,NDK 2
Cupcake 1.5 API 级别 3,NDK 1
(无代号) 1.1 API 级别 2
(无代号) 1.0 API 级别 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.E1 android-8.1.0_r41 Oreo Nexus 5X 和 Nexus 6P
OPM4.171019.021.R1 android-8.1.0_r40 Oreo Pixel 2 XL
OPM4.171019.021.第一季 android-8.1.0_r39 Oreo Pixel 2
OPM4.171019.021.P1 android-8.1.0_r38 Oreo Pixel、Pixel XL
OPM4.171019.021.N1 android-8.1.0_r37 Oreo Pixel C
OPM2.171026.006.H1 android-8.1.0_r36 Oreo Pixel 2 XL
OPM2.171026.006.Google One android-8.1.0_r35 Oreo Pixel 2
OPM6.171019.030.B1 android-8.1.0_r33 Oreo Nexus 6P、Nexus 5X
OPM4.171019.021.E1 android-8.1.0_r32 Oreo Pixel 2 XL、Pixel 2
OPM4.171019.021.D1 android-8.1.0_r31 Oreo Pixel XL、Pixel
OPM2.171026.006.C1 android-8.1.0_r30 Oreo Pixel 2 XL、Pixel 2
OPM4.171019.016.C1 android-8.1.0_r29 Oreo Pixel C
OPM4.171019.016.B1 android-8.1.0_r28 Oreo Pixel XL、Pixel、Pixel 2 XL、Pixel 2
OPM4.171019.016.A1 android-8.1.0_r27 Oreo Nexus 5X
OPM2.171019.029.B1 android-8.1.0_r26 Oreo Pixel 2 XL、Pixel 2
OPM2.171019.029.A1 android-8.1.0_r25 Oreo Nexus 6P
OPM4.171019.015.A1 android-8.1.0_r23 Oreo Pixel 2 XL、Pixel 2
OPM5.171019.019 android-8.1.0_r22 Oreo Nexus 6P
OPM3.171019.019 android-8.1.0_r21 Oreo Nexus 6P
OPM2.171019.029 android-8.1.0_r20 Oreo Pixel 2 XL、Pixel 2、Pixel XL、Pixel、Nexus 5X
OPM1.171019.026 android-8.1.0_r19 Oreo Pixel C
OPM5.171019.017 android-8.1.0_r18 Oreo Nexus 5X、Nexus 6P
OPM3.171019.016 android-8.1.0_r17 Oreo Nexus 5X、Nexus 6P
OPM1.171019.022.A1 android-8.1.0_r16 Oreo Pixel C
OPM1.171019.021 android-8.1.0_r15 Oreo Pixel 2 XL、Pixel 2、Pixel XL、Pixel
OPM5.171019.015 android-8.1.0_r14 Oreo Nexus 5X、Nexus 6P
OPM3.171019.014 android-8.1.0_r13 Oreo Nexus 5X、Nexus 6P
OPM1.171019.019 android-8.1.0_r12 Oreo Pixel 2
OPM1.171019.018 android-8.1.0_r11 Oreo Pixel 2 XL
OPM1.171019.016 android-8.1.0_r10 Oreo Pixel、Pixel XL、Pixel C
OPM5.171019.014 android-8.1.0_r9 Oreo Nexus 5X、Nexus 6P
OPM2.171019.016 android-8.1.0_r8 Oreo Pixel 2
OPM3.171019.013 android-8.1.0_r7 Oreo Nexus 5X、Nexus 6P
OPM1.171019.015 android-8.1.0_r6 Oreo Pixel C
OPM1.171019.014 android-8.1.0_r5 Oreo Pixel 2 XL、Pixel 2、Pixel XL、Pixel
OPM1.171019.013 android-8.1.0_r4 Oreo Pixel 2 XL、Pixel 2
OPM1.171019.012 android-8.1.0_r3 Oreo Pixel XL、Pixel
OPM2.171019.012 android-8.1.0_r2 Oreo Pixel 2 XL、Pixel 2
OPM1.171019.011 android-8.1.0_r1 Oreo Pixel 2 XL、Pixel 2、Pixel XL、Pixel、Pixel C、Nexus 6P、Nexus 5X
OPR5.170623.014 android-8.0.0_r36 Oreo Nexus 6P
OPR4.170623.020 android-8.0.0_r35 Oreo Nexus 5X
OPD3.170816.023 android-8.0.0_r34 Oreo Pixel 2 XL、Pixel 2
OPD1.170816.025 android-8.0.0_r33 Oreo Pixel 2 XL、Pixel 2
OPR6.170623.023 android-8.0.0_r32 Oreo Nexus 5X
OPR5.170623.011 android-8.0.0_r31 Oreo Nexus 6P
OPR3.170623.013 android-8.0.0_r30 Oreo Pixel XL、Pixel
OPR2.170623.027 android-8.0.0_r29 Oreo Nexus Player
OPR1.170623.032 android-8.0.0_r28 Oreo Pixel XL、Pixel、Pixel C
OPD3.170816.016 android-8.0.0_r27 Oreo Pixel 2
OPD2.170816.015 android-8.0.0_r26 Oreo Pixel 2
OPD1.170816.018 android-8.0.0_r25 Oreo Pixel 2
OPD3.170816.012 android-8.0.0_r24 Oreo Pixel 2 XL、Pixel 2
OPD1.170816.012 android-8.0.0_r23 Oreo Pixel 2 XL、Pixel 2
OPD1.170816.011 android-8.0.0_r22 Oreo Pixel 2 XL、Pixel 2
OPD1.170816.010 android-8.0.0_r21 Oreo Pixel 2 XL、Pixel 2
OPR5.170623.007 android-8.0.0_r17 Oreo Nexus 6P
OPR4.170623.009 android-8.0.0_r16 Oreo Nexus 5X
OPR3.170623.008 android-8.0.0_r15 Oreo Pixel XL、Pixel
OPR1.170623.027 android-8.0.0_r13 Oreo Pixel XL、Pixel、Pixel C
OPR6.170623.021 android-8.0.0_r12 Oreo Nexus Player
OPR6.170623.019 android-8.0.0_r11 Oreo Nexus 6P
OPR4.170623.006 android-8.0.0_r10 Oreo Nexus 5X
OPR3.170623.007 android-8.0.0_r9 Oreo Pixel XL、Pixel
OPR1.170623.026 android-8.0.0_r7 Oreo Pixel XL、Pixel、Pixel C
OPR6.170623.013 android-8.0.0_r4 Oreo Nexus 5X、Nexus 6P
OPR6.170623.012 android-8.0.0_r3 Oreo Pixel XL、Pixel
OPR6.170623.011 android-8.0.0_r2 Oreo Pixel XL、Pixel
OPR6.170623.010 android-8.0.0_r1 Oreo Pixel C
N2G48H android-7.1.2_r36 Nougat  
NZH54D android-7.1.2_r33 Nougat Pixel XL、Pixel
NKG47S android-7.1.2_r32 Nougat Pixel XL、Pixel
NHG47Q android-7.1.2_r30 Nougat Pixel XL、Pixel
NJH47F android-7.1.2_r29 Nougat Pixel XL、Pixel
N2G48C android-7.1.2_r28 Nougat Nexus 5X、Nexus 6P、Nexus Player、Pixel C
NZH54B android-7.1.2_r27 Nougat Pixel XL、Pixel
NKG47M android-7.1.2_r25 Nougat Pixel XL、Pixel
NJH47D android-7.1.2_r24 Nougat Pixel XL、Pixel
NHG47O android-7.1.2_r23 Nougat Pixel XL、Pixel
N2G48B android-7.1.2_r19 Nougat Nexus 6P、Nexus Player、Pixel C
N2G47Z android-7.1.2_r18 Nougat Nexus 5X
NJH47B android-7.1.2_r17 Nougat Pixel XL、Pixel
NJH34C android-7.1.2_r16 Nougat Pixel XL、Pixel
NKG47L android-7.1.2_r15 Nougat Pixel XL、Pixel
NHG47N android-7.1.2_r14 Nougat Pixel XL、Pixel
N2G47X android-7.1.2_r13 Nougat Nexus Player
N2G47W android-7.1.2_r12 Nougat Nexus 5X、Nexus 6P、Pixel C
NHG47L android-7.1.2_r11 Nougat Pixel XL、Pixel
N2G47T android-7.1.2_r10 Nougat Pixel XL、Pixel
N2G47R android-7.1.2_r9 Nougat Nexus Player
N2G47O android-7.1.2_r8 Nougat Nexus 5X、Nexus 6P、Pixel XL、Pixel、Pixel C
NHG47K android-7.1.2_r6 Nougat Pixel XL、Pixel
N2G47J android-7.1.2_r5 Nougat Pixel XL、Pixel
N2G47H android-7.1.2_r4 Nougat Nexus 6P、Nexus Player
N2G47F android-7.1.2_r3 Nougat Nexus 5X
N2G47E android-7.1.2_r2 Nougat Pixel XL、Pixel
N2G47D android-7.1.2_r1 Nougat Pixel C
N9F27M android-7.1.1_r58 Nougat Nexus 9 (volantis)
NGI77B android-7.1.1_r57 Nougat Nexus 6
N8I11F android-7.1.1_r56 Nougat Nexus 6
N6F27M android-7.1.1_r55 Nougat Nexus 6
N4F27P android-7.1.1_r54 Nougat Nexus 9 (volantisg)
N9F27L android-7.1.1_r53 Nougat Nexus 9
NGI55D android-7.1.1_r52 Nougat Nexus 6
N4F27O android-7.1.1_r51 Nougat Nexus 9 (volantisg)
N8I11B android-7.1.1_r50 Nougat Nexus 6
N9F27H android-7.1.1_r49 Nougat Nexus 9 (volantis)
N6F27I android-7.1.1_r48 Nougat Nexus 6
N4F27K android-7.1.1_r47 Nougat Nexus 9 (volantisg)
N9F27F android-7.1.1_r46 Nougat Nexus 9 (volantis)
N6F27H android-7.1.1_r45 Nougat Nexus 6
N4F27I android-7.1.1_r44 Nougat Nexus 9 (volantisg)
N9F27C android-7.1.1_r43 Nougat Nexus 9 (volantis)
N6F27E android-7.1.1_r42 Nougat Nexus 6
N4F27E android-7.1.1_r41 Nougat Nexus 9 (volantisg)
N6F27C android-7.1.1_r40 Nougat Nexus 6
N4F27B android-7.1.1_r39 Nougat Nexus 9 (volantis/volantisg)
N6F26Y android-7.1.1_r38 Nougat Nexus 6
NOF27D android-7.1.1_r35 Nougat Pixel XL、Pixel
N4F26X android-7.1.1_r33 Nougat Nexus 9 (volantis/volantisg)
N4F26U android-7.1.1_r31 Nougat Nexus 5X、Nexus 6P
N6F26U android-7.1.1_r28 Nougat Nexus 6
NUF26N android-7.1.1_r27 Nougat Nexus 6P
NOF27C android-7.1.1_r26 Nougat Pixel XL、Pixel
NOF27B android-7.1.1_r25 Nougat Pixel XL、Pixel
N4F26T android-7.1.1_r24 Nougat Nexus 5X、Nexus 6P、Nexus 9 (volantis/volantisg)、Pixel C
NMF27D android-7.1.1_r23 Nougat Nexus Player
NMF26X android-7.1.1_r22 Nougat Nexus Player
NOF26W android-7.1.1_r21 Nougat Pixel XL、Pixel
NOF26V android-7.1.1_r20 Nougat Pixel XL、Pixel
N6F26R android-7.1.1_r17 Nougat Nexus 6
NUF26K android-7.1.1_r16 Nougat Nexus 6P
N4F26Q android-7.1.1_r15 Nougat Nexus 9 (volantis/volantisg)
N4F26O android-7.1.1_r14 Nougat Nexus 5X、Nexus 6P、Pixel C
N6F26Q android-7.1.1_r13 Nougat Nexus 6
N4F26M android-7.1.1_r12 Nougat Nexus 9 (volantis)
N4F26J android-7.1.1_r11 Nougat Nexus 5X、Nexus 6P
N4F26I android-7.1.1_r10 Nougat Nexus 5X、Nexus 6P、Pixel C
NMF26V android-7.1.1_r9 Nougat Pixel XL、Pixel
NMF26U android-7.1.1_r8 Nougat Pixel XL、Pixel
NMF26R android-7.1.1_r7 Nougat Nexus Player
NMF26Q android-7.1.1_r6 Nougat Pixel XL、Pixel
NMF26O android-7.1.1_r4 Nougat Pixel XL、Pixel
NMF26J android-7.1.1_r3 Nougat Nexus Player
NMF26H android-7.1.1_r2 Nougat Pixel C
NMF26F android-7.1.1_r1 Nougat Nexus 5X、Nexus 6P、Nexus 9 (volantis/volantisg)
NDE63X android-7.1.0_r7 Nougat Pixel XL、Pixel
NDE63V android-7.1.0_r6 Nougat Pixel XL、Pixel
NDE63U android-7.1.0_r5 Nougat Pixel XL、Pixel
NDE63P android-7.1.0_r4 Nougat Pixel XL、Pixel
NDE63L android-7.1.0_r2 Nougat Pixel XL、Pixel
NDE63H android-7.1.0_r1 Nougat Pixel XL、Pixel
NBD92Q android-7.0.0_r35 Nougat  
NBD92N android-7.0.0_r34 Nougat  
NBD92G android-7.0.0_r33 Nougat Nexus 6
NBD92F android-7.0.0_r32 Nougat Nexus 6
NBD92E android-7.0.0_r31 Nougat Nexus 6
NBD92D android-7.0.0_r30 Nougat Nexus 6
NBD91Z android-7.0.0_r29 Nougat Nexus 6
NBD91Y android-7.0.0_r28 Nougat Nexus 6
NBD91X android-7.0.0_r27 Nougat Nexus 6
NBD91U android-7.0.0_r24 Nougat Nexus 6
N5D91L android-7.0.0_r21 Nougat Nexus 5X
NBD91P android-7.0.0_r19 Nougat Nexus 6
NRD91K android-7.0.0_r17 Nougat Nexus 6P
NRD91N android-7.0.0_r15 Nougat Nexus 5X、Pixel C、Nexus Player、Nexus 9 (volantis/volantisg)
NBD90Z android-7.0.0_r14 Nougat Nexus 6
NBD90X android-7.0.0_r13 Nougat Nexus 6P
NBD90W android-7.0.0_r12 Nougat Nexus 5X
NRD91D android-7.0.0_r7 Nougat Pixel C、Nexus Player、Nexus 9 (WLAN)
NRD90U android-7.0.0_r6 Nougat Nexus 6P
NRD90T android-7.0.0_r5 Nougat Nexus 6P
NRD90S android-7.0.0_r4 Nougat Nexus 5X
NRD90R android-7.0.0_r3 Nougat Nexus 5X、Nexus 9 (volantis)、Nexus Player、Pixel C
NRD90M android-7.0.0_r1 Nougat Nexus 5X、Nexus 9 (volantis)、Nexus Player、Pixel C
MOI10E android-6.0.1_r81 Marshmallow  
MOB31Z android-6.0.1_r80 Marshmallow  
MOB31T android-6.0.1_r79 Marshmallow Nexus 6
MOB31S android-6.0.1_r78 Marshmallow Nexus 6
M4B30Z android-6.0.1_r77 Marshmallow Nexus 5
MOB31K android-6.0.1_r74 Marshmallow Nexus 6
MMB31C android-6.0.1_r73 Marshmallow Nexus 6
M4B30X android-6.0.1_r72 Marshmallow Nexus 5
MOB31H android-6.0.1_r70 Marshmallow Nexus 6
MMB30Y android-6.0.1_r69 Marshmallow Nexus 6
MTC20K android-6.0.1_r67 Marshmallow Nexus 5X
MOB31E android-6.0.1_r66 Marshmallow Nexus 5、Nexus 6、Nexus 9 (volantis)
MMB30W android-6.0.1_r65 Marshmallow Nexus 6
MXC89L android-6.0.1_r63 Marshmallow Pixel C
MTC20F android-6.0.1_r62 Marshmallow Nexus 5X、Nexus 6P
MOB30Y android-6.0.1_r60 Marshmallow Nexus 5
MOB30X android-6.0.1_r59 Marshmallow Nexus 7 (flo/deb)
MOB30W android-6.0.1_r58 Marshmallow Nexus 6、Nexus 9 (volantis/volantisg)、Nexus Player
MMB30S android-6.0.1_r57 Marshmallow Nexus 7 (deb)
MMB30R android-6.0.1_r56 Marshmallow Nexus 6
MXC89K android-6.0.1_r55 Marshmallow Pixel C
MTC19Z android-6.0.1_r54 Marshmallow Nexus 5X
MTC19X android-6.0.1_r53 Marshmallow Nexus 6P
MOB30P android-6.0.1_r50 Marshmallow Nexus 5、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)、Nexus Player
MOB30O android-6.0.1_r49 Marshmallow Nexus 6
MMB30M android-6.0.1_r48 Marshmallow Nexus 7 (deb)
MMB30K android-6.0.1_r47 Marshmallow Nexus 6
MOB30M android-6.0.1_r46 Marshmallow Nexus 5、Nexus 6、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)、Nexus Player
MTC19V android-6.0.1_r45 Marshmallow Nexus 5X、Nexus 6P
MOB30J android-6.0.1_r43 Marshmallow Nexus 7 (flo/deb)
MOB30I android-6.0.1_r42 Marshmallow Nexus 6
MOB30H android-6.0.1_r41 Marshmallow Nexus 5
MOB30G android-6.0.1_r40 Marshmallow Nexus 9 (volantis/volantisg)、Nexus Player
MXC89H android-6.0.1_r33 Marshmallow Pixel C
MXC89F android-6.0.1_r32 Marshmallow Pixel C
MMB30J android-6.0.1_r28 Marshmallow Nexus 6、Nexus 7 (deb)
MTC19T android-6.0.1_r25 Marshmallow Nexus 5X、Nexus 6P
M5C14J android-6.0.1_r31 Marshmallow Pixel C
MOB30D android-6.0.1_r30 Marshmallow Nexus 5、Nexus 6、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)、Nexus Player
MHC19Q android-6.0.1_r24 Marshmallow Nexus 5X、Nexus 6P
MHC19J android-6.0.1_r22 Marshmallow Nexus 5X
MHC19I android-6.0.1_r21 Marshmallow Nexus 6P
MMB29X android-6.0.1_r20 Marshmallow Nexus 5、Nexus 6、Nexus 7 (deb)、Nexus 9 (volantisg)
MXC14G android-6.0.1_r18 Marshmallow Pixel C
MMB29V android-6.0.1_r17 Marshmallow Nexus 5、Nexus 5X、Nexus 6、Nexus 6P、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)
MXB48T android-6.0.1_r16 Marshmallow Pixel C
MMB29U android-6.0.1_r13 Marshmallow Nexus Player
MMB29R android-6.0.1_r12 Marshmallow Nexus 9 (volantis/volantisg)
MMB29Q android-6.0.1_r11 Marshmallow Nexus 5、Nexus 5X、Nexus 6、Nexus 6P、Nexus 7 (flo/deb)
MMB29T android-6.0.1_r10 Marshmallow Nexus Player
MMB29S android-6.0.1_r9 Marshmallow Nexus 5、Nexus 6、Nexus 9 (volantis/volantisg)
MMB29P android-6.0.1_r8 Marshmallow Nexus 5X、Nexus 6P
MMB29O android-6.0.1_r7 Marshmallow Nexus 7 (flo/deb)
MXB48K android-6.0.1_r5 Marshmallow Pixel C
MXB48J android-6.0.1_r4 Marshmallow Pixel C
MMB29M android-6.0.1_r3 Marshmallow Nexus 6P、Nexus Player
MMB29K android-6.0.1_r1 Marshmallow Nexus 5、Nexus 5X、Nexus 6、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)
MMB29N android-6.0.0_r41 Marshmallow Nexus 6P
MDB08M android-6.0.0_r26 Marshmallow Nexus 5X、Nexus 6P
MDB08L android-6.0.0_r25 Marshmallow Nexus 5X、Nexus 6P
MDB08K android-6.0.0_r24 Marshmallow Nexus 6P
MDB08I android-6.0.0_r23 Marshmallow Nexus 5X
MDA89E android-6.0.0_r12 Marshmallow Nexus 5X
MDA89D android-6.0.0_r11 Marshmallow Nexus 6P
MRA59B android-6.0.0_r7 Marshmallow Nexus 7 (deb)
MRA58X android-6.0.0_r6 Marshmallow Nexus 6
MRA58V android-6.0.0_r5 Marshmallow Nexus 7 (flo/deb)
MRA58U android-6.0.0_r4 Marshmallow Nexus 7 (flo)
MRA58N android-6.0.0_r2 Marshmallow Nexus 5、Nexus 6、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)、Nexus Player
MRA58K android-6.0.0_r1 Marshmallow Nexus 5、Nexus 6、Nexus 7 (flo/deb)、Nexus 9 (volantis/volantisg)、Nexus Player
LMY49M android-5.1.1_r38 Lollipop Nexus 10
LMY49J android-5.1.1_r37 Lollipop Nexus 10
LMY49I android-5.1.1_r36 Lollipop Nexus 10
LMY49H android-5.1.1_r35 Lollipop Nexus 10
LMY49G android-5.1.1_r34 Lollipop Nexus 10
LMY49F android-5.1.1_r33 Lollipop Nexus 9 (volantisg)、Nexus 10
LMY48Z android-5.1.1_r30 Lollipop Nexus 6、Nexus 7 (deb)、Nexus 9 (volantisg)、Nexus 10
LYZ28N android-5.1.1_r28 Lollipop Nexus 6(仅面向 T-Mobile)
LMY48Y android-5.1.1_r26 Lollipop Nexus 6
LMY48X android-5.1.1_r25 Lollipop Nexus 6、Nexus 7 (deb)、Nexus 9 (volantisg)、Nexus 10
LMY48W android-5.1.1_r24 Lollipop Nexus 6
LVY48H android-5.1.1_r23 Lollipop Nexus 6(仅面向 Project Fi)
LYZ28M android-5.1.1_r22 Lollipop Nexus 6(仅面向 T-Mobile)
LMY48U android-5.1.1_r20 Lollipop Nexus 7 (deb)
LMY48T android-5.1.1_r19 Lollipop Nexus 4、Nexus 6、Nexus 9 (volantis/volantisg)、Nexus 10
LVY48F android-5.1.1_r18 Lollipop Nexus 6(仅面向 Project Fi)
LYZ28K android-5.1.1_r17 Lollipop Nexus 6(仅面向 T-Mobile)
LMY48P android-5.1.1_r16 Lollipop Nexus 7 (deb)
LMY48N android-5.1.1_r15 Lollipop Nexus Player
LMY48M android-5.1.1_r14 Lollipop Nexus 4、Nexus 5、Nexus 6、Nexus 7 (flo)、Nexus 9 (volantis/volantisg)、Nexus 10
LVY48E android-5.1.1_r13 Lollipop Nexus 6(仅面向 Project Fi)
LYZ28J android-5.1.1_r12 Lollipop Nexus 6(仅面向 T-Mobile)
LMY48J android-5.1.1_r10 Lollipop Nexus Player
LMY48I android-5.1.1_r9 Lollipop Nexus 4、Nexus 5、Nexus 6、Nexus 7 (flo)、Nexus 9 (volantis/volantisg)、Nexus 10
LVY48C android-5.1.1_r8 Lollipop Nexus 6(仅面向 Project Fi)
LMY48G android-5.1.1_r6 Lollipop Nexus 7 (flo)
LYZ28E android-5.1.1_r5 Lollipop Nexus 6(仅面向 T-Mobile)
LMY47Z android-5.1.1_r4 Lollipop Nexus 6(面向除 T-Mobile(美国)之外的所有运营商)
LMY48B android-5.1.1_r3 Lollipop Nexus 5
LMY47X android-5.1.1_r2 Lollipop Nexus 9 (volantis)
LMY47V android-5.1.1_r1 Lollipop Nexus 7 (flo/grouper)、Nexus 10、Nexus Player
LMY47O android-5.1.0_r5 Lollipop Nexus 4、Nexus 7 (flo/deb)
LMY47M android-5.1.0_r4 Lollipop Nexus 6(仅面向 T-Mobile)
LMY47I android-5.1.0_r3 Lollipop Nexus 5、Nexus 6
LMY47E android-5.1.0_r2 Lollipop Nexus 6
LMY47D android-5.1.0_r1 Lollipop Nexus 5、Nexus 6、Nexus 7 (grouper/tilapia)、Nexus 10、Nexus Player
LRX22L android-5.0.2_r3 Lollipop Nexus 9 (volantis/volantisg)
LRX22G android-5.0.2_r1 Lollipop Nexus 7 (flo/deb/grouper/tilapia)、Nexus 10
LRX22C android-5.0.1_r1 Lollipop Nexus 4、Nexus 5、Nexus 6 (shamu)、Nexus 7 (flo)、Nexus 9 (volantis/volantisg)、Nexus 10
LRX21V android-5.0.0_r7.0.1 Lollipop Nexus Player (fugu)
LRX21T android-5.0.0_r6.0.1 Lollipop Nexus 4
LRX21R android-5.0.0_r5.1.0.1 Lollipop Nexus 9 (volantis)
LRX21Q android-5.0.0_r5.0.1 Lollipop Nexus 9 (volantis)
LRX21P android-5.0.0_r4.0.1 Lollipop Nexus 7 (flo/grouper)、Nexus 10
LRX21O android-5.0.0_r3.0.1 Lollipop Nexus 5 (hammerhead)、Nexus 6 (shamu)
LRX21M android-5.0.0_r2.0.1 Lollipop Nexus Player (fugu)
LRX21L android-5.0.0_r1.0.1 Lollipop Nexus 9 (volantis)
KTU84Q android-4.4.4_r2 KitKat Nexus 5 (hammerhead)(仅面向新西兰的 2Degrees、澳大利亚的 Telstra 和印度)
KTU84P android-4.4.4_r1 KitKat Nexus 5、Nexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10
KTU84M android-4.4.3_r1.1 KitKat Nexus 5 (hammerhead)
KTU84L android-4.4.3_r1 KitKat Nexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10
KVT49L android-4.4.2_r2 KitKat Nexus 7 (deb Verizon)
KOT49H android-4.4.2_r1 KitKat Nexus 5、Nexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10
KOT49E android-4.4.1_r1 KitKat Nexus 5、Nexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10
KRT16S android-4.4_r1.2 KitKat Nexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10
KRT16M android-4.4_r1 KitKat Nexus 5 (hammerhead)
JLS36I android-4.3.1_r1 Jelly Bean Nexus 7 (deb)
JLS36C android-4.3_r3 Jelly Bean Nexus 7 (deb)
JSS15R android-4.3_r2.3 Jelly Bean Nexus 7 (flo)
JSS15Q android-4.3_r2.2 Jelly Bean Nexus 7 (flo)
JSS15J android-4.3_r2.1 Jelly Bean Nexus 7 (flo/deb)
JSR78D android-4.3_r2 Jelly Bean Nexus 7 (deb)
JWR66Y android-4.3_r1.1 Jelly Bean Galaxy Nexus、Nexus 7 (grouper/tilapia)、Nexus 4、Nexus 10
JWR66V android-4.3_r1 Jelly Bean Galaxy Nexus、Nexus 7 (grouper/tilapia)、Nexus 4、Nexus 10
JWR66N android-4.3_r0.9.1 Jelly Bean Galaxy Nexus、Nexus 7 (grouper/tilapia/flo)、Nexus 4、Nexus 10
JWR66L android-4.3_r0.9 Jelly Bean Nexus 7
JDQ39E android-4.2.2_r1.2 Jelly Bean Nexus 4
JDQ39B android-4.2.2_r1.1 Jelly Bean Nexus 7
JDQ39 android-4.2.2_r1 Jelly Bean Galaxy Nexus、Nexus 7、Nexus 4、Nexus 10
JOP40G android-4.2.1_r1.2 Jelly Bean Nexus 4
JOP40F android-4.2.1_r1.1 Jelly Bean Nexus 10
JOP40D android-4.2.1_r1 Jelly Bean Galaxy Nexus、Nexus 7、Nexus 4、Nexus 10
JOP40C android-4.2_r1 Jelly Bean Galaxy Nexus、Nexus 7、Nexus 4、Nexus 10
JZO54M android-4.1.2_r2.1 Jelly Bean  
JZO54L android-4.1.2_r2 Jelly Bean  
JZO54K android-4.1.2_r1 Jelly Bean Nexus S、Galaxy Nexus、Nexus 7
JRO03S android-4.1.1_r6.1 Jelly Bean Nexus 7
JRO03R android-4.1.1_r6 Jelly Bean Nexus S 4G
JRO03O android-4.1.1_r5 Jelly Bean Galaxy Nexus
JRO03L android-4.1.1_r4 Jelly Bean Nexus S
JRO03H android-4.1.1_r3 Jelly Bean  
JRO03E android-4.1.1_r2 Jelly Bean Nexus S
JRO03D android-4.1.1_r1.1 Jelly Bean Nexus 7
JRO03C android-4.1.1_r1 Jelly Bean Galaxy Nexus
IMM76L android-4.0.4_r2.1 Ice Cream Sandwich  
IMM76K android-4.0.4_r2 Ice Cream Sandwich Galaxy Nexus
IMM76I android-4.0.4_r1.2 Ice Cream Sandwich Galaxy Nexus
IMM76D android-4.0.4_r1.1 Ice Cream Sandwich Nexus S、Nexus S 4G、Galaxy Nexus
IMM76 android-4.0.4_r1 Ice Cream Sandwich  
IML77 android-4.0.3_r1.1 Ice Cream Sandwich  
IML74K android-4.0.3_r1 Ice Cream Sandwich Nexus S
ICL53F android-4.0.2_r1 Ice Cream Sandwich Galaxy Nexus
ITL41F android-4.0.1_r1.2 Ice Cream Sandwich Galaxy Nexus
ITL41D android-4.0.1_r1.1 Ice Cream Sandwich Galaxy Nexus
ITL41D android-4.0.1_r1 Ice Cream Sandwich Galaxy Nexus
GWK74 android-2.3.7_r1 Gingerbread Nexus S 4G
GRK39F android-2.3.6_r1 Gingerbread Nexus One、Nexus S
GRK39C android-2.3.6_r0.9 Gingerbread Nexus S
GRJ90 android-2.3.5_r1 Gingerbread Nexus S 4G
GRJ22 android-2.3.4_r1 Gingerbread Nexus One、Nexus S、Nexus S 4G
GRJ06D android-2.3.4_r0.9 Gingerbread Nexus S 4G
GRI54 android-2.3.3_r1.1 Gingerbread Nexus S
GRI40 android-2.3.3_r1 Gingerbread Nexus One、Nexus S
GRH78C android-2.3.2_r1 Gingerbread Nexus S
GRH78 android-2.3.1_r1 Gingerbread Nexus S
GRH55 android-2.3_r1 Gingerbread 使用 Gingerbread 最早期版本的设备、Nexus S
FRK76C android-2.2.3_r2 Froyo  
FRK76 android-2.2.3_r1 Froyo  
FRG83G android-2.2.2_r1 Froyo Nexus One
FRG83D android-2.2.1_r2 Froyo Nexus One
FRG83 android-2.2.1_r1 Froyo Nexus One
FRG22D android-2.2_r1.3 Froyo  
FRG01B android-2.2_r1.2 Froyo  
FRF91 android-2.2_r1.1 Froyo Nexus One
FRF85B android-2.2_r1 Froyo Nexus One
EPF21B android-2.1_r2.1p2 Eclair  
ESE81 android-2.1_r2.1s Eclair  
EPE54B android-2.1_r2.1p Eclair Nexus One
ERE27 android-2.1_r2 Eclair Nexus One
ERD79 android-2.1_r1 Eclair Nexus One
ESD56 android-2.0.1_r1 Eclair  
ESD20 android-2.0_r1 Eclair  
DMD64 android-1.6_r1.5 Donut  
DRD20 android-1.6_r1.4    
DRD08 android-1.6_r1.3    
DRC92 android-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 模块已对外公开,对应于如下的标记:

细分版本 标记 备注
HRI39 android-3.0_r1 Honeycomb 最早期版本
HRI66 android-3.0_r1.1  
HWI69 android-3.0_r1.2  
HRI83 android-3.0_r1.3  
HMJ37 android-3.1_r1  
HTJ85B android-3.2_r1  
HTK55D android-3.2.1_r1  
HTK75D android-3.2.1_r2  
HLK75C android-3.2.2_r1  
HLK75D android-3.2.2_r2  
HLK75F android-3.2.4_r1  
HLK75H android-3.2.6_r1 Honeycomb 的最新版本

我们未提供刚好包含以上模块的清单。不过,有些清单允许构建这些组件。以下命令适用于 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 命令会返回错误,因为它找不到相应的标记。

猜你喜欢

转载自blog.csdn.net/tanmx219/article/details/81203256