1page.title=Codenames, Tags, and Build Numbers
2@jd:body
3
4<!--
5    Copyright 2014 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>Lollipop</td>
45<td>5.1</td>
46<td>API level 22</td>
47</tr>
48<tr>
49<td>Lollipop</td>
50<td>5.0</td>
51<td>API level 21</td>
52</tr>
53<tr>
54<td>KitKat</td>
55<td>4.4 - 4.4.4</td>
56<td>API level 19</td>
57</tr>
58<tr>
59<td>Jelly Bean</td>
60<td>4.3.x</td>
61<td>API level 18</td>
62</tr>
63<tr>
64<td>Jelly Bean</td>
65<td>4.2.x</td>
66<td>API level 17</td>
67</tr>
68<tr>
69<td>Jelly Bean</td>
70<td>4.1.x</td>
71<td>API level 16</td>
72</tr>
73<tr>
74<td>Ice Cream Sandwich</td>
75<td>4.0.3 - 4.0.4</td>
76<td>API level 15, NDK 8</td>
77</tr>
78<tr>
79<td>Ice Cream Sandwich</td>
80<td>4.0.1 - 4.0.2</td>
81<td>API level 14, NDK 7</td>
82</tr>
83<tr>
84<td>Honeycomb</td>
85<td>3.2.x</td>
86<td>API level 13</td>
87</tr>
88<tr>
89<td>Honeycomb</td>
90<td>3.1</td>
91<td>API level 12, NDK 6</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>Gingerbread</td>
100<td>2.3.3 - 2.3.7</td>
101<td>API level 10</td>
102</tr>
103<tr>
104<td>Gingerbread</td>
105<td>2.3 - 2.3.2</td>
106<td>API level 9, NDK 5</td>
107</tr>
108<tr>
109<td>Froyo</td>
110<td>2.2.x</td>
111<td>API level 8, NDK 4</td>
112</tr>
113<tr>
114<td>Eclair</td>
115<td>2.1</td>
116<td>API level 7, NDK 3</td>
117</tr>
118<tr>
119<td>Eclair</td>
120<td>2.0.1</td>
121<td>API level 6</td>
122</tr>
123<tr>
124<td>Eclair</td>
125<td>2.0</td>
126<td>API level 5</td>
127</tr>
128<tr>
129<td>Donut</td>
130<td>1.6</td>
131<td>API level 4, NDK 2</td>
132</tr>
133<tr>
134<td>Cupcake</td>
135<td>1.5</td>
136<td>API level 3, NDK 1</td>
137</tr>
138<tr>
139<td>(no code name)</td>
140<td>1.1</td>
141<td>API level 2</td>
142</tr>
143<tr>
144<td>(no code name)</td>
145<td>1.0</td>
146<td>API level 1</td>
147</tr>
148</tbody>
149</table>
150<p>Starting with Cupcake, individual builds are identified with a short
151build code, e.g. FRF85B.</p>
152<p>The first letter is the code name of the release family, e.g. F is
153Froyo.</p>
154<p>The second letter is a branch code that allows Google to identify
155the exact code branch that the build was made from, and R is by
156convention the primary release branch.</p>
157<p>The next letter and two digits are a date code. The letter counts
158quarters, with A being Q1 2009. Therefore, F is Q2 2010. The two
159digits count days within the quarter, so F85 is June 24 2010.</p>
160<p>Finally, the last letter identifies individual versions related to
161the same date code, sequentially starting with A; A is actually
162implicit and usually omitted for brevity.</p>
163<p>The date code is not guaranteed to be the exact date at which a build
164was made, and it is common that minor variations added to an existing
165build re-use the same date code as that existing build.</p>
166
167<h2 id="source-code-tags-and-builds">Source Code Tags and Builds</h2>
168<p>Starting with Donut, the exact list of tags and builds is in the
169following table. Factory images and binaries for Nexus devices can be downloaded from:</p>
170<p><a href="https://developers.google.com/android/nexus/images">https://developers.google.com/android/nexus/images</a></p>
171<p><a href="https://developers.google.com/android/nexus/drivers">https://developers.google.com/android/nexus/drivers</a></p>
172<table>
173  <thead>
174<tr>
175  <th>Build</th>
176<th>Branch</th>
177<th>Version</th>
178<th>Supported devices</th>
179</tr>
180<tr>
181  <td>LMY47V</td>
182  <td>android-5.1.1_r1</td>
183  <td>Lollipop</td>
184  <td>Nexus Player</td>
185</tr>
186<tr>
187  <td>LMY47O</td>
188  <td>android-5.1.0_r5</td>
189  <td>Lollipop</td>
190  <td>Nexus 4, Nexus 7 (flo/deb)</td>
191</tr>
192<tr>
193  <td>LMY47I</td>
194  <td>android-5.1.0_r3</td>
195  <td>Lollipop</td>
196  <td>Nexus 5, Nexus 6</td>
197</tr>
198<tr>
199  <td>LMY47D</td>
200  <td>android-5.1.0_r1</td>
201  <td>Lollipop</td>
202  <td>Nexus 5, Nexus 6, Nexus 7 (grouper/tilapia), Nexus 10, Nexus Player</td>
203</tr>
204<tr>
205  <td>LRX22G</td>
206  <td>android-5.0.2_r1</td>
207  <td>Lollipop</td>
208  <td>Nexus 7 (flo/deb/grouper/tilapia), Nexus 10</td>
209</tr>
210<tr>
211  <td>LRX22C</td>
212  <td>android-5.0.1_r1</td>
213  <td>Lollipop</td>
214  <td>Nexus 4, Nexus 5, Nexus 6 (shamu), Nexus 7 (flo), Nexus 9 (volantis/volantisg), Nexus 10</td>
215</tr>
216<tr>
217  <td>LRX21V</td>
218  <td>android-5.0.0_r7.0.1</td>
219  <td>Lollipop</td>
220  <td>Nexus Player (fugu)</td>
221</tr>
222<tr>
223  <td>LRX21T</td>
224  <td>android-5.0.0_r6.0.1</td>
225  <td>Lollipop</td>
226  <td>Nexus 4</td>
227</tr>
228<tr>
229  <td>LRX21R</td>
230  <td>android-5.0.0_r5.1.0.1</td>
231  <td>Lollipop</td>
232  <td>Nexus 9 (volantis)</td>
233</tr>
234<tr>
235  <td>LRX21Q</td>
236  <td>android-5.0.0_r5.0.1</td>
237  <td>Lollipop</td>
238  <td>Nexus 9 (volantis)</td>
239</tr>
240<tr>
241  <td>LRX21P</td>
242  <td>android-5.0.0_r4.0.1</td>
243  <td>Lollipop</td>
244  <td>Nexus 7 (flo/grouper), Nexus 10</td>
245</tr>
246<tr>
247  <td>LRX21O</td>
248  <td>android-5.0.0_r3.0.1</td>
249  <td>Lollipop</td>
250  <td>Nexus 5 (hammerhead), Nexus 6 (shamu)</td>
251</tr>
252<tr>
253  <td>LRX21M</td>
254  <td>android-5.0.0_r2.0.1</td>
255  <td>Lollipop</td>
256  <td>Nexus Player (fugu)</td>
257</tr>
258<tr>
259  <td>LRX21L</td>
260  <td>android-5.0.0_r1.0.1</td>
261  <td>Lollipop</td>
262  <td>Nexus 9 (volantis)</td>
263</tr>
264<tr>
265  <td>KTU84Q</td>
266  <td>android-4.4.4_r2</td>
267  <td>KitKat</td>
268  <td>Nexus 5 (hammerhead) (For 2Degrees/NZ, Telstra/AUS and India ONLY)</td>
269</tr>
270<tr>
271  <td>KTU84P</td>
272  <td>android-4.4.4_r1</td>
273  <td>KitKat</td>
274  <td>Nexus 5, Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10</td>
275</tr>
276<tr>
277  <td>KTU84M</td>
278  <td>android-4.4.3_r1.1</td>
279  <td>KitKat</td>
280  <td>Nexus 5 (hammerhead)</td>
281</tr>
282<tr>
283  <td>KTU84L</td>
284  <td>android-4.4.3_r1</td>
285  <td>KitKat</td>
286  <td>Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10</td>
287</tr>
288<tr>
289  <td>KVT49L</td>
290  <td>android-4.4.2_r2</td>
291  <td>KitKat</td>
292  <td>Nexus 7 (deb Verizon)</td>
293</tr>
294<tr>
295  <td>KOT49H</td>
296  <td>android-4.4.2_r1</td>
297  <td>KitKat</td>
298  <td> Nexus 5, Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10</td>
299</tr>
300<tr>
301  <td>KOT49E</td>
302  <td>android-4.4.1_r1</td>
303  <td>KitKat</td>
304  <td>Nexus 5, Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10</td>
305</tr>
306<tr>
307  <td>KRT16S</td>
308  <td>android-4.4_r1.2</td>
309  <td>KitKat</td>
310  <td>Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10</td>
311</tr>
312<tr>
313  <td>KRT16M</td>
314  <td>android-4.4_r1</td>
315  <td>KitKat</td>
316  <td>Nexus 5 (hammerhead)</td>
317</tr>
318<tr>
319  <td>JLS36I</td>
320  <td>android-4.3.1_r1</td>
321  <td>Jelly Bean</td>
322  <td>Nexus 7 (deb)</td>
323</tr>
324<tr>
325  <td>JLS36C</td>
326  <td>android-4.3_r3</td>
327  <td>Jelly Bean</td>
328  <td> Nexus 7 (deb)</td>
329</tr>
330<tr>
331  <td>JSS15R</td>
332  <td>android-4.3_r2.3</td>
333  <td>Jelly Bean</td>
334  <td>Nexus 7 (flo)</td>
335</tr>
336<tr>
337  <td>JSS15Q</td>
338  <td>android-4.3_r2.2</td>
339  <td>Jelly Bean</td>
340  <td>Nexus 7 (flo)</td>
341</tr>
342<tr>
343  <td>JSS15J</td>
344  <td>android-4.3_r2.1</td>
345  <td>Jelly Bean</td>
346  <td>Nexus 7 (flo/deb)</td>
347</tr>
348<tr>
349  <td>JSR78D</td>
350  <td>android-4.3_r2</td>
351  <td>Jelly Bean</td>
352  <td>Nexus 7 (deb)</td>
353</tr>
354<tr>
355  <td>JWR66Y</td>
356  <td>android-4.3_r1.1</td>
357  <td>Jelly Bean</td>
358  <td>Galaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10</td>
359</tr>
360<tr>
361  <td>JWR66V</td>
362  <td>android-4.3_r1</td>
363  <td>Jelly Bean</td>
364  <td>Galaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10</td>
365</tr>
366<tr>
367  <td>JWR66N</td>
368  <td>android-4.3_r0.9.1</td>
369  <td>Jelly Bean</td>
370  <td>Galaxy Nexus, Nexus 7 (grouper/tilapia/flo), Nexus 4, Nexus 10</td>
371</tr>
372<tr>
373  <td>JWR66L</td>
374  <td>android-4.3_r0.9</td>
375  <td>Jelly Bean</td>
376  <td>Nexus 7</td>
377</tr>
378<tr>
379  <td>JDQ39E</td>
380  <td>android-4.2.2_r1.2</td>
381  <td>Jelly Bean</td>
382  <td>Nexus 4</td>
383</tr>
384<tr>
385  <td>JDQ39B</td>
386  <td>android-4.2.2_r1.1</td>
387  <td>Jelly Bean</td>
388  <td>Nexus 7</td>
389</tr>
390<tr>
391  <td>JDQ39</td>
392  <td>android-4.2.2_r1</td>
393  <td>Jelly Bean</td>
394  <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
395</tr>
396<tr>
397  <td>JOP40G</td>
398  <td>android-4.2.1_r1.2</td>
399  <td>Jelly Bean</td>
400  <td>Nexus 4</td>
401</tr>
402<tr>
403  <td>JOP40F</td>
404  <td>android-4.2.1_r1.1</td>
405  <td>Jelly Bean</td>
406  <td>Nexus 10</td>
407</tr>
408<tr>
409  <td>JOP40D</td>
410  <td>android-4.2.1_r1</td>
411  <td>Jelly Bean</td>
412  <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
413</tr>
414<tr>
415  <td>JOP40C</td>
416  <td>android-4.2_r1</td>
417  <td>Jelly Bean</td>
418  <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
419</tr>
420<tr>
421  <td>JZO54M</td>
422  <td>android-4.1.2_r2.1</td>
423  <td>Jelly Bean</td>
424  <td></td>
425</tr>
426<tr>
427  <td>JZO54L</td>
428  <td>android-4.1.2_r2</td>
429  <td>Jelly Bean</td>
430  <td></td>
431</tr>
432<tr>
433  <td>JZO54K</td>
434  <td>android-4.1.2_r1</td>
435  <td>Jelly Bean</td>
436  <td>Nexus S, Galaxy Nexus, Nexus 7</td>
437</tr>
438<tr>
439  <td>JRO03S</td>
440  <td>android-4.1.1_r6.1</td>
441  <td>Jelly Bean</td>
442  <td>Nexus 7</td>
443</tr>
444<tr>
445  <td>JRO03R</td>
446  <td>android-4.1.1_r6</td>
447  <td>Jelly Bean</td>
448  <td>Nexus S 4G</td>
449</tr>
450<tr>
451  <td>JRO03O</td>
452  <td>android-4.1.1_r5</td>
453  <td>Jelly Bean</td>
454  <td>Galaxy Nexus</td>
455</tr>
456<tr>
457  <td>JRO03L</td>
458  <td>android-4.1.1_r4</td>
459  <td>Jelly Bean</td>
460  <td>Nexus S</td>
461</tr>
462<tr>
463  <td>JRO03H</td>
464  <td>android-4.1.1_r3</td>
465  <td>Jelly Bean</td>
466  <td></td>
467</tr>
468<tr>
469  <td>JRO03E</td>
470  <td>android-4.1.1_r2</td>
471  <td>Jelly Bean</td>
472  <td>Nexus S</td>
473</tr>
474<tr>
475  <td>JRO03D</td>
476  <td>android-4.1.1_r1.1</td>
477  <td>Jelly Bean</td>
478  <td>Nexus 7</td>
479</tr>
480<tr>
481  <td>JRO03C</td>
482  <td>android-4.1.1_r1</td>
483  <td>Jelly Bean</td>
484  <td>Galaxy Nexus</td>
485</tr>
486<tr>
487  <td>IMM76L</td>
488  <td>android-4.0.4_r2.1</td>
489  <td>Ice Cream Sandwich</td>
490  <td>&nbsp;</td>
491</tr>
492<tr>
493  <td>IMM76K</td>
494  <td>android-4.0.4_r2</td>
495  <td>Ice Cream Sandwich</td>
496  <td>Galaxy Nexus</td>
497</tr>
498<tr>
499  <td>IMM76I</td>
500  <td>android-4.0.4_r1.2</td>
501  <td>Ice Cream Sandwich</td>
502  <td>Galaxy Nexus</td>
503</tr>
504<tr>
505  <td>IMM76D</td>
506  <td>android-4.0.4_r1.1</td>
507  <td>Ice Cream Sandwich</td>
508  <td>Nexus S, Nexus S 4G, Galaxy Nexus</td>
509</tr>
510<tr>
511  <td>IMM76</td>
512  <td>android-4.0.4_r1</td>
513  <td>Ice Cream Sandwich</td>
514  <td></td>
515</tr>
516<tr>
517  <td>IML77</td>
518  <td>android-4.0.3_r1.1</td>
519  <td>Ice Cream Sandwich</td>
520  <td></td>
521</tr>
522<tr>
523  <td>IML74K</td>
524  <td>android-4.0.3_r1</td>
525  <td>Ice Cream Sandwich</td>
526  <td>Nexus S</td>
527</tr>
528<tr>
529  <td>ICL53F</td>
530  <td>android-4.0.2_r1</td>
531  <td>Ice Cream Sandwich</td>
532  <td>Galaxy Nexus</td>
533</tr>
534<tr>
535  <td>ITL41F</td>
536  <td>android-4.0.1_r1.2</td>
537  <td>Ice Cream Sandwich</td>
538  <td>Galaxy Nexus</td>
539</tr>
540<tr>
541  <td>ITL41D</td>
542  <td>android-4.0.1_r1.1</td>
543  <td>Ice Cream Sandwich</td>
544  <td>Galaxy Nexus</td>
545</tr>
546<tr>
547  <td>ITL41D</td>
548  <td>android-4.0.1_r1</td>
549  <td>Ice Cream Sandwich</td>
550  <td>Galaxy Nexus</td>
551</tr>
552<tr>
553  <td>GWK74</td>
554  <td>android-2.3.7_r1</td>
555  <td>Gingerbread</td>
556  <td>Nexus S 4G</td>
557</tr>
558<tr>
559  <td>GRK39F</td>
560  <td>android-2.3.6_r1</td>
561  <td>Gingerbread</td>
562  <td>Nexus One, Nexus S</td>
563</tr>
564<tr>
565  <td>GRK39C</td>
566  <td>android-2.3.6_r0.9</td>
567  <td>Gingerbread</td>
568  <td>Nexus S</td>
569</tr>
570<tr>
571  <td>GRJ90</td>
572  <td>android-2.3.5_r1</td>
573  <td>Gingerbread</td>
574  <td>Nexus S 4G</td>
575</tr>
576<tr>
577  <td>GRJ22</td>
578  <td>android-2.3.4_r1</td>
579  <td>Gingerbread</td>
580  <td>Nexus One, Nexus S, Nexus S 4G</td>
581</tr>
582<tr>
583  <td>GRJ06D</td>
584  <td>android-2.3.4_r0.9</td>
585  <td>Gingerbread</td>
586  <td>Nexus S 4G</td>
587</tr>
588<tr>
589  <td>GRI54</td>
590  <td>android-2.3.3_r1.1</td>
591  <td>Gingerbread</td>
592  <td>Nexus S</td>
593</tr>
594<tr>
595  <td>GRI40</td>
596  <td>android-2.3.3_r1</td>
597  <td>Gingerbread</td>
598  <td>Nexus One, Nexus S</td>
599</tr>
600<tr>
601  <td>GRH78C</td>
602  <td>android-2.3.2_r1</td>
603  <td>Gingerbread</td>
604  <td>Nexus S</td>
605</tr>
606<tr>
607  <td>GRH78</td>
608  <td>android-2.3.1_r1</td>
609  <td>Gingerbread</td>
610  <td>Nexus S</td>
611</tr>
612<tr>
613  <td>GRH55</td>
614  <td>android-2.3_r1</td>
615  <td>Gingerbread</td>
616  <td>earliest Gingerbread version, Nexus S</td>
617</tr>
618<tr>
619  <td>FRK76C</td>
620  <td>android-2.2.3_r2</td>
621  <td>Froyo</td>
622  <td>&nbsp;</td>
623</tr>
624<tr>
625  <td>FRK76</td>
626  <td>android-2.2.3_r1</td>
627  <td>Froyo</td>
628  <td></td>
629</tr>
630<tr>
631  <td>FRG83G</td>
632  <td>android-2.2.2_r1</td>
633  <td>Froyo</td>
634  <td>Nexus One</td>
635</tr>
636<tr>
637  <td>FRG83D</td>
638  <td>android-2.2.1_r2</td>
639  <td>Froyo</td>
640  <td>Nexus One</td>
641</tr>
642<tr>
643  <td>FRG83</td>
644  <td>android-2.2.1_r1</td>
645  <td>Froyo</td>
646  <td>Nexus One</td>
647</tr>
648<tr>
649  <td>FRG22D</td>
650  <td>android-2.2_r1.3</td>
651  <td>Froyo</td>
652  <td></td>
653</tr>
654<tr>
655  <td>FRG01B</td>
656  <td>android-2.2_r1.2</td>
657  <td>Froyo</td>
658  <td></td>
659</tr>
660<tr>
661  <td>FRF91</td>
662  <td>android-2.2_r1.1</td>
663  <td>Froyo</td>
664  <td>Nexus One</td>
665</tr>
666<tr>
667  <td>FRF85B</td>
668  <td>android-2.2_r1</td>
669  <td>Froyo</td>
670  <td>Nexus One</td>
671</tr>
672<tr>
673  <td>EPF21B</td>
674  <td>android-2.1_r2.1p2</td>
675  <td>Eclair</td>
676  <td>&nbsp;</td>
677</tr>
678<tr>
679  <td>ESE81</td>
680  <td>android-2.1_r2.1s</td>
681  <td>Eclair</td>
682  <td></td>
683</tr>
684<tr>
685  <td>EPE54B</td>
686  <td>android-2.1_r2.1p</td>
687  <td>Eclair</td>
688  <td>Nexus One</td>
689</tr>
690<tr>
691  <td>ERE27</td>
692  <td>android-2.1_r2</td>
693  <td>Eclair</td>
694  <td>Nexus One</td>
695</tr>
696<tr>
697  <td>ERD79</td>
698  <td>android-2.1_r1</td>
699  <td>Eclair</td>
700  <td>Nexus One</td>
701</tr>
702<tr>
703  <td>ESD56</td>
704  <td>android-2.0.1_r1</td>
705  <td>Eclair</td>
706  <td></td>
707</tr>
708<tr>
709  <td>ESD20</td>
710  <td>android-2.0_r1</td>
711  <td>Eclair</td>
712  <td>&nbsp;</td>
713</tr>
714<tr>
715  <td>DMD64</td>
716  <td>android-1.6_r1.5</td>
717  <td>Donut</td>
718  <td>&nbsp;</td>
719</tr>
720<tr>
721  <td>DRD20</td>
722  <td>android-1.6_r1.4</td>
723  <td></td>
724  <td></td>
725</tr>
726<tr>
727  <td>DRD08</td>
728  <td>android-1.6_r1.3</td>
729  <td></td>
730  <td></td>
731</tr>
732<tr>
733  <td>DRC92</td>
734  <td>android-1.6_r1.2</td>
735  <td></td>
736  <td></td>
737</tr>
738</thead>
739<tbody>
740
741</tbody>
742</table>
743<p>The branches froyo, gingerbread, ics-mr0, ics-mr1, jb-dev,
744jb-mr1-dev, jb-mr1.1-dev, jb-mr2-dev, kitkat-dev
745represent development
746branches that do not exactly match configurations that were tested
747by Google. They might contain a variety of changes in addition to
748the official tagged releases, and those haven't been as thoroughly
749tested.</p>
750
751<p>To differentiate between releases, you may obtain a list of changes
752associated with each project by issuing the following command and passing it
753the two branch tags:</p>
754
755<pre><code>$ repo forall -pc 'git log --no-merges --oneline branch-1..branch-2'</pre></code>
756
757<p>For example:</p>
758
759<pre><code>$ repo forall -pc 'git log --no-merges --oneline android-4.4.2_r2..android-4.4.2_r1'</pre></code>
760
761<p>And to output to a text file:</p>
762
763<pre><code>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</pre></code>
764
765<h2 id="honeycomb-gpl-modules">Honeycomb GPL Modules</h2>
766<p>For Honeycomb, the entire platform source code isn't available.
767However, the parts of Honeycomb licensed under the GPL and LGPL
768are available under the following tags:</p>
769
770<table>
771<thead>
772<tr>
773<th>Build</th>
774<th>Tag</th>
775<th>Notes</th>
776</tr>
777</thead>
778<tbody>
779<tr>
780<td>HRI39</td>
781<td>android-3.0_r1</td>
782<td>earliest Honeycomb version</td>
783</tr>
784<tr>
785<td>HRI66</td>
786<td>android-3.0_r1.1</td>
787<td></td>
788</tr>
789<tr>
790<td>HWI69</td>
791<td>android-3.0_r1.2</td>
792<td></td>
793</tr>
794<tr>
795<td>HRI83</td>
796<td>android-3.0_r1.3</td>
797<td></td>
798</tr>
799<tr>
800<td>HMJ37</td>
801<td>android-3.1_r1</td>
802<td></td>
803</tr>
804<tr>
805<td>HTJ85B</td>
806<td>android-3.2_r1</td>
807<td></td>
808</tr>
809<tr>
810<td>HTK55D</td>
811<td>android-3.2.1_r1</td>
812<td></td>
813</tr>
814<tr>
815<td>HTK75D</td>
816<td>android-3.2.1_r2</td>
817<td></td>
818</tr>
819<tr>
820<td>HLK75C</td>
821<td>android-3.2.2_r1</td>
822<td></td>
823</tr>
824<tr>
825<td>HLK75D</td>
826<td>android-3.2.2_r2</td>
827<td></td>
828</tr>
829<tr>
830<td>HLK75F</td>
831<td>android-3.2.4_r1</td>
832<td></td>
833</tr>
834<tr>
835<td>HLK75H</td>
836<td>android-3.2.6_r1</td>
837<td>latest Honeycomb version</td>
838</tr>
839</tbody>
840</table>
841<p>There is no manifest that contains exactly those. However, there
842are manifests that allow building those components. The following
843commands work for 3.0_r1.1, and using other versions can be done by
844switching the git checkout paramater, and if necessary the -m parameter in
845repo init. The git checkout command outputs an error for the non-GPL
846projects, where it can't find the tag in question.</p>
847<pre><code>$ repo init -b master -m base-for-3.0-gpl.xml
848$ repo sync
849$ repo forall -c git checkout android-3.0_r1.1
850</code></pre>
851
852