代码流水线、分支和版本

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​​ 命令会返回错误,因为它找不到相应的标记。