blob: 3c190bd1cd8fb06b50fd451125698b35e403cab3 [file] [log] [blame]
Robert Ly35f2fda2013-01-29 16:27:05 -08001page.title=Codenames, Tags, and Build Numbers
2@jd:body
3
4<!--
5 Copyright 2010 The Android Open Source Project
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18-->
19<div id="qv-wrapper">
20 <div id="qv">
21 <h2>In this document</h2>
22 <ol id="auto-toc">
23 </ol>
24 </div>
25</div>
26
27<p>At a high level, Android development happens around families of
28releases, which use code names ordered alphabetically after tasty
29treats.</p>
30
31<h2 id="platform-code-names-versions-api-levels-and-ndk-releases">Platform Codenames, Versions, API Levels, and NDK Releases</h2>
32<p>The code names match the following version numbers, along with
33API levels and NDK releases provided for convenience:</p>
34<table>
35<thead>
36<tr>
37<th>Code name</th>
38<th>Version</th>
39<th>API level</th>
40</tr>
41</thead>
42<tbody>
43<tr>
44<td>(no code name)</td>
45<td>1.0</td>
46<td>API level 1</td>
47</tr>
48<tr>
49<td>(no code name)</td>
50<td>1.1</td>
51<td>API level 2</td>
52</tr>
53<tr>
54<td>Cupcake</td>
55<td>1.5</td>
56<td>API level 3, NDK 1</td>
57</tr>
58<tr>
59<td>Donut</td>
60<td>1.6</td>
61<td>API level 4, NDK 2</td>
62</tr>
63<tr>
64<td>Eclair</td>
65<td>2.0</td>
66<td>API level 5</td>
67</tr>
68<tr>
69<td>Eclair</td>
70<td>2.0.1</td>
71<td>API level 6</td>
72</tr>
73<tr>
74<td>Eclair</td>
75<td>2.1</td>
76<td>API level 7, NDK 3</td>
77</tr>
78<tr>
79<td>Froyo</td>
80<td>2.2.x</td>
81<td>API level 8, NDK 4</td>
82</tr>
83<tr>
84<td>Gingerbread</td>
85<td>2.3 - 2.3.2</td>
86<td>API level 9, NDK 5</td>
87</tr>
88<tr>
89<td>Gingerbread</td>
90<td>2.3.3 - 2.3.7</td>
91<td>API level 10</td>
92</tr>
93<tr>
94<td>Honeycomb</td>
95<td>3.0</td>
96<td>API level 11</td>
97</tr>
98<tr>
99<td>Honeycomb</td>
100<td>3.1</td>
101<td>API level 12, NDK 6</td>
102</tr>
103<tr>
104<td>Honeycomb</td>
105<td>3.2.x</td>
106<td>API level 13</td>
107</tr>
108<tr>
109<td>Ice Cream Sandwich</td>
110<td>4.0.1 - 4.0.2</td>
111<td>API level 14, NDK 7</td>
112</tr>
113<tr>
114<td>Ice Cream Sandwich</td>
115<td>4.0.3 - 4.0.4</td>
116<td>API level 15, NDK 8</td>
117</tr>
118<tr>
119<td>Jelly Bean</td>
120<td>4.1.x</td>
121<td>API level 16</td>
122</tr>
123<tr>
124<td>Jelly Bean</td>
125<td>4.2.x</td>
126<td>API level 17</td>
127</tr>
Jean-Baptiste Querud8fbf202013-06-18 14:51:12 -0700128<tr>
129<td>Jelly Bean</td>
The Android Open Source Project4f0728f2013-10-08 13:56:29 -0700130<td>4.3.x</td>
Jean-Baptiste Querud8fbf202013-06-18 14:51:12 -0700131<td>API level 18</td>
132</tr>
Clay Murphye75e3fe2013-11-06 17:15:35 -0800133<tr>
134<td>KitKat</td>
135<td>4.4</td>
136<td>API level 19</td>
137</tr>
Robert Ly35f2fda2013-01-29 16:27:05 -0800138</tbody>
139</table>
140<p>Starting with Cupcake, individual builds are identified with a short
141build code, e.g. FRF85B.</p>
142<p>The first letter is the code name of the release family, e.g. F is
143Froyo.</p>
144<p>The second letter is a branch code that allows Google to identify
145the exact code branch that the build was made from, and R is by
146convention the primary release branch.</p>
147<p>The next letter and two digits are a date code. The letter counts
148quarters, with A being Q1 2009. Therefore, F is Q2 2010. The two
149digits count days within the quarter, so F85 is June 24 2010.</p>
150<p>Finally, the last letter identifies individual versions related to
151the same date code, sequentially starting with A; A is actually
152implicit and usually omitted for brevity.</p>
153<p>The date code is not guaranteed to be the exact date at which a build
154was made, and it is common that minor variations added to an existing
155build re-use the same date code as that existing build.</p>
156
157<h2 id="source-code-tags-and-builds">Source Code Tags and Builds</h2>
158<p>Starting with Donut, the exact list of tags and builds is in the
159following table:</p>
160<table>
161<thead>
162<tr>
163<th>Build</th>
164<th>Tag</th>
165<th>Notes</th>
166</tr>
167</thead>
168<tbody>
169<tr>
170<td>DRC83</td>
171<td>android-1.6_r1.1</td>
172<td>earliest Donut version, ADP1, ADP2</td>
173</tr>
174<tr>
175<td>DRC92</td>
176<td>android-1.6_r1.2</td>
177<td></td>
178</tr>
179<tr>
180<td>DRD08</td>
181<td>android-1.6_r1.3</td>
182<td></td>
183</tr>
184<tr>
185<td>DRD20</td>
186<td>android-1.6_r1.4</td>
187<td></td>
188</tr>
189<tr>
190<td>DMD64</td>
191<td>android-1.6_r1.5</td>
192<td>latest Donut version</td>
193</tr>
194<tr>
195<td>ESD20</td>
196<td>android-2.0_r1</td>
197<td>earliest Eclair version</td>
198</tr>
199<tr>
200<td>ESD56</td>
201<td>android-2.0.1_r1</td>
202<td></td>
203</tr>
204<tr>
205<td>ERD79</td>
206<td>android-2.1_r1</td>
207<td>Nexus One</td>
208</tr>
209<tr>
210<td>ERE27</td>
211<td>android-2.1_r2</td>
212<td>Nexus One</td>
213</tr>
214<tr>
215<td>EPE54B</td>
216<td>android-2.1_r2.1p</td>
217<td>Nexus One</td>
218</tr>
219<tr>
220<td>ESE81</td>
221<td>android-2.1_r2.1s</td>
222<td></td>
223</tr>
224<tr>
225<td>EPF21B</td>
226<td>android-2.1_r2.1p2</td>
227<td>latest Eclair version</td>
228</tr>
229<tr>
230<td>FRF85B</td>
231<td>android-2.2_r1</td>
232<td>earliest Froyo version, Nexus One</td>
233</tr>
234<tr>
235<td>FRF91</td>
236<td>android-2.2_r1.1</td>
237<td>Nexus One</td>
238</tr>
239<tr>
240<td>FRG01B</td>
241<td>android-2.2_r1.2</td>
242<td></td>
243</tr>
244<tr>
245<td>FRG22D</td>
246<td>android-2.2_r1.3</td>
247<td></td>
248</tr>
249<tr>
250<td>FRG83</td>
251<td>android-2.2.1_r1</td>
252<td>Nexus One</td>
253</tr>
254<tr>
255<td>FRG83D</td>
256<td>android-2.2.1_r2</td>
257<td>Nexus One</td>
258</tr>
259<tr>
260<td>FRG83G</td>
261<td>android-2.2.2_r1</td>
262<td>Nexus One</td>
263</tr>
264<tr>
265<td>FRK76</td>
266<td>android-2.2.3_r1</td>
267<td></td>
268</tr>
269<tr>
270<td>FRK76C</td>
271<td>android-2.2.3_r2</td>
272<td>latest Froyo version</td>
273</tr>
274<tr>
275<td>GRH55</td>
276<td>android-2.3_r1</td>
277<td>earliest Gingerbread version, Nexus S</td>
278</tr>
279<tr>
280<td>GRH78</td>
281<td>android-2.3.1_r1</td>
282<td>Nexus S</td>
283</tr>
284<tr>
285<td>GRH78C</td>
286<td>android-2.3.2_r1</td>
287<td>Nexus S</td>
288</tr>
289<tr>
290<td>GRI40</td>
291<td>android-2.3.3_r1</td>
292<td>Nexus One, Nexus S</td>
293</tr>
294<tr>
295<td>GRI54</td>
296<td>android-2.3.3_r1.1</td>
297<td>Nexus S</td>
298</tr>
299<tr>
300<td>GRJ06D</td>
301<td>android-2.3.4_r0.9</td>
302<td>Nexus S 4G</td>
303</tr>
304<tr>
305<td>GRJ22</td>
306<td>android-2.3.4_r1</td>
307<td>Nexus One, Nexus S, Nexus S 4G</td>
308</tr>
309<tr>
310<td>GRJ90</td>
311<td>android-2.3.5_r1</td>
312<td>Nexus S 4G</td>
313</tr>
314<tr>
315<td>GRK39C</td>
316<td>android-2.3.6_r0.9</td>
317<td>Nexus S</td>
318</tr>
319<tr>
320<td>GRK39F</td>
321<td>android-2.3.6_r1</td>
322<td>Nexus One, Nexus S</td>
323</tr>
324<tr>
325<td>GWK74</td>
326<td>android-2.3.7_r1</td>
327<td>latest Gingerbread version, Nexus S 4G</td>
328</tr>
329<tr>
330<td>ITL41D</td>
331<td>android-4.0.1_r1</td>
332<td>earliest Ice Cream Sandwich version, Galaxy Nexus</td>
333</tr>
334<tr>
335<td>ITL41D</td>
336<td>android-4.0.1_r1.1</td>
337<td>Galaxy Nexus</td>
338</tr>
339<tr>
340<td>ITL41F</td>
341<td>android-4.0.1_r1.2</td>
342<td>Galaxy Nexus</td>
343</tr>
344<tr>
345<td>ICL53F</td>
346<td>android-4.0.2_r1</td>
347<td>Galaxy Nexus</td>
348</tr>
349<tr>
350<td>IML74K</td>
351<td>android-4.0.3_r1</td>
352<td>Nexus S</td>
353</tr>
354<tr>
355<td>IML77</td>
356<td>android-4.0.3_r1.1</td>
357<td></td>
358</tr>
359<tr>
360<td>IMM76</td>
361<td>android-4.0.4_r1</td>
362<td></td>
363</tr>
364<tr>
365<td>IMM76D</td>
366<td>android-4.0.4_r1.1</td>
367<td>Nexus S, Nexus S 4G, Galaxy Nexus</td>
368</tr>
369<tr>
370<td>IMM76I</td>
371<td>android-4.0.4_r1.2</td>
372<td>Galaxy Nexus</td>
373</tr>
374<tr>
375<td>IMM76K</td>
376<td>android-4.0.4_r2</td>
377<td>Galaxy Nexus</td>
378</tr>
379<tr>
380<td>IMM76L</td>
381<td>android-4.0.4_r2.1</td>
382<td>latest Ice Cream Sandwich version</td>
383</tr>
384<tr>
385<td>JRO03C</td>
386<td>android-4.1.1_r1</td>
387<td>earliest Jelly Bean version, Galaxy Nexus</td>
388</tr>
389<tr>
390<td>JRO03D</td>
391<td>android-4.1.1_r1.1</td>
392<td>Nexus 7</td>
393</tr>
394<tr>
395<td>JRO03E</td>
396<td>android-4.1.1_r2</td>
397<td>Nexus S</td>
398</tr>
399<tr>
400<td>JRO03H</td>
401<td>android-4.1.1_r3</td>
402<td></td>
403</tr>
404<tr>
405<td>JRO03L</td>
406<td>android-4.1.1_r4</td>
407<td>Nexus S</td>
408</tr>
409<tr>
410<td>JRO03O</td>
411<td>android-4.1.1_r5</td>
412<td>Galaxy Nexus</td>
413</tr>
414<tr>
415<td>JRO03R</td>
416<td>android-4.1.1_r6</td>
417<td>Nexus S 4G</td>
418</tr>
419<tr>
420<td>JRO03S</td>
421<td>android-4.1.1_r6.1</td>
422<td>Nexus 7</td>
423</tr>
Jean-Baptiste Queru5e560812013-06-04 09:16:38 -0700424
Robert Ly35f2fda2013-01-29 16:27:05 -0800425<tr>
426<td>JZO54K</td>
427<td>android-4.1.2_r1</td>
428<td>Nexus S, Galaxy Nexus, Nexus 7</td>
429</tr>
Jean-Baptiste Queru5e560812013-06-04 09:16:38 -0700430
431<tr>
432<td>JZO54L</td>
433<td>android-4.1.2_r2</td>
434<td></td>
435</tr>
436
Robert Ly35f2fda2013-01-29 16:27:05 -0800437<tr>
Jean-Baptiste Queru3b418432013-07-11 15:44:44 -0700438<td>JZO54M</td>
439<td>android-4.1.2_r2.1</td>
440<td></td>
441</tr>
442
443<tr>
Robert Ly35f2fda2013-01-29 16:27:05 -0800444<td>JOP40C</td>
445<td>android-4.2_r1</td>
446<td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
447</tr>
Robert Ly40e3b6d2013-04-17 18:12:10 -0700448
Robert Ly35f2fda2013-01-29 16:27:05 -0800449<tr>
450<td>JOP40D</td>
451<td>android-4.2.1_r1</td>
Robert Ly40e3b6d2013-04-17 18:12:10 -0700452<td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
453</tr>
454
455<tr>
456<td>JOP40F</td>
457<td>android-4.2.1_r1.1</td>
458<td>Nexus 10</td>
459</tr>
460
461<tr>
462<td>JOP40G</td>
463<td>android-4.2.1_r1.2</td>
464<td>Nexus 4</td>
465</tr>
466
467<tr>
468<td>JDQ39</td>
469<td>android-4.2.2_r1</td>
Jean-Baptiste Querud8fbf202013-06-18 14:51:12 -0700470<td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
471</tr>
472
473<tr>
Jean-Baptiste Queru5e560812013-06-04 09:16:38 -0700474<td>JDQ39B</td>
475<td>android-4.2.2_r1.1</td>
476<td>Nexus 7</td>
477</tr>
478
479<tr>
480<td>JDQ39E</td>
481<td>android-4.2.2_r1.1</td>
482<td>Nexus 4</td>
483</tr>
484
485<tr>
Jean-Baptiste Queru28061d92013-06-20 18:50:51 -0700486<td>JWR66L</td>
Jean-Baptiste Queru125a9862013-07-22 11:42:59 -0700487<td>android-4.3_r0.9</td>
Jean-Baptiste Queru28061d92013-06-20 18:50:51 -0700488<td>Nexus 7</td>
489</tr>
490
491<tr>
Jean-Baptiste Querud8fbf202013-06-18 14:51:12 -0700492<td>JWR66N</td>
Jean-Baptiste Queru125a9862013-07-22 11:42:59 -0700493<td>android-4.3_r0.9.1</td>
494<td>Galaxy Nexus, Nexus 7 (grouper/tilapia/flo), Nexus 4, Nexus 10</td>
Jean-Baptiste Queru3b418432013-07-11 15:44:44 -0700495</tr>
496
497<tr>
498<td>JWR66V</td>
Jean-Baptiste Queru125a9862013-07-22 11:42:59 -0700499<td>android-4.3_r1</td>
Jean-Baptiste Queru3b418432013-07-11 15:44:44 -0700500<td>Galaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10</td>
501</tr>
502
503<tr>
Clay Murphyc0fff382013-09-23 11:08:07 -0700504<td>JWR66Y</td>
505<td>android-4.3_r1.1</td>
506<td>Galaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10</td>
507</tr>
508
509<tr>
Jean-Baptiste Queru125a9862013-07-22 11:42:59 -0700510<td>JSR78D</td>
511<td>android-4.3_r2</td>
512<td>Nexus 7 (deb)</td>
513</tr>
514
515<tr>
Jean-Baptiste Queru2df13722013-07-19 15:01:21 -0700516<td>JSS15J</td>
Jean-Baptiste Queru125a9862013-07-22 11:42:59 -0700517<td>android-4.3_r2.1</td>
Clay Murphyc0fff382013-09-23 11:08:07 -0700518<td>Jelly Bean version, Nexus 7 (flo/deb)</td>
519</tr>
520
521<tr>
522<td>JSS15Q</td>
523<td>android-4.3_r2.2</td>
Clay Murphy2cda7c12013-09-23 11:51:15 -0700524<td>Jelly Bean version, Nexus 7 (flo)</td>
525</tr>
526
527<tr>
528<td>JSS15R</td>
529<td>android-4.3_r2.3</td>
530<td>Latest Jelly Bean version, Nexus 7 (flo)</td>
Clay Murphyc0fff382013-09-23 11:08:07 -0700531</tr>
532
533<tr>
534<td>JLS36C</td>
535<td>android-4.3_r3</td>
Clay Murphy2cda7c12013-09-23 11:51:15 -0700536<td>Jelly Bean version, Nexus 7 (deb)</td>
537</tr>
538
539<tr>
The Android Open Source Project4f0728f2013-10-08 13:56:29 -0700540<td>JLS36I</td>
541<td>android-4.3.1_r1</td>
Clay Murphyc0fff382013-09-23 11:08:07 -0700542<td>Latest Jelly Bean version, Nexus 7 (deb)</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800543</tr>
Robert Ly40e3b6d2013-04-17 18:12:10 -0700544
Clay Murphye75e3fe2013-11-06 17:15:35 -0800545<tr>
546<td>KRT16M</td>
547<td>android-4.4_r1</td>
548<td>Initial KitKat version, Nexus 5 (hammerhead)</td>
549</tr>
550
Robert Ly35f2fda2013-01-29 16:27:05 -0800551</tbody>
552</table>
553<p>The branches froyo, gingerbread, ics-mr0, ics-mr1, jb-dev,
Clay Murphye75e3fe2013-11-06 17:15:35 -0800554jb-mr1-dev, jb-mr1.1-dev, jb-mr2-dev, kitkat-dev
Robert Ly35f2fda2013-01-29 16:27:05 -0800555represent development
556branches that do not exactly match configurations that were tested
557by Google. They might contain a variety of changes in addition to
558the official tagged releases, and those haven't been as thoroughly
559tested.</p>
560
561<h2 id="honeycomb-gpl-modules">Honeycomb GPL Modules</h2>
562<p>For Honeycomb, the entire platform source code isn't available.
563However, the parts of Honeycomb licensed under the GPL and LGPL
564are available under the following tags:</p>
565<table>
566<thead>
567<tr>
568<th>Build</th>
569<th>Tag</th>
570<th>Notes</th>
571</tr>
572</thead>
573<tbody>
574<tr>
575<td>HRI39</td>
576<td>android-3.0_r1</td>
577<td>earliest Honeycomb version</td>
578</tr>
579<tr>
580<td>HRI66</td>
581<td>android-3.0_r1.1</td>
582<td></td>
583</tr>
584<tr>
585<td>HWI69</td>
586<td>android-3.0_r1.2</td>
587<td></td>
588</tr>
589<tr>
Robert Ly40e3b6d2013-04-17 18:12:10 -0700590<td>HRI83</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800591<td>android-3.0_r1.3</td>
592<td></td>
593</tr>
594<tr>
595<td>HMJ37</td>
596<td>android-3.1_r1</td>
597<td></td>
598</tr>
599<tr>
600<td>HTJ85B</td>
601<td>android-3.2_r1</td>
602<td></td>
603</tr>
604<tr>
605<td>HTK55D</td>
606<td>android-3.2.1_r1</td>
607<td></td>
608</tr>
609<tr>
610<td>HTK75D</td>
611<td>android-3.2.1_r2</td>
612<td></td>
613</tr>
614<tr>
615<td>HLK75C</td>
616<td>android-3.2.2_r1</td>
617<td></td>
618</tr>
619<tr>
620<td>HLK75D</td>
621<td>android-3.2.2_r2</td>
622<td></td>
623</tr>
624<tr>
625<td>HLK75F</td>
626<td>android-3.2.4_r1</td>
627<td></td>
628</tr>
629<tr>
630<td>HLK75H</td>
631<td>android-3.2.6_r1</td>
632<td>latest Honeycomb version</td>
633</tr>
634</tbody>
635</table>
636<p>There is no manifest that contains exactly those. However, there
637are manifests that allow building those components. The following
638commands work for 3.0_r1.1, and using other versions can be done by
639switching the git checkout paramater, and if necessary the -m parameter in
640repo init. The git checkout command outputs an error for the non-GPL
641projects, where it can't find the tag in question.</p>
642<pre><code>$ repo init -b master -m base-for-3.0-gpl.xml
643$ repo sync
644$ repo forall -c git checkout android-3.0_r1.1
645</code></pre>
646