{"id":1202,"date":"2013-01-05T10:44:56","date_gmt":"2013-01-05T10:44:56","guid":{"rendered":"http:\/\/brain.payzip.co.kr\/?p=1202"},"modified":"2013-01-05T10:44:56","modified_gmt":"2013-01-05T10:44:56","slug":"android-%ec%bd%94%eb%93%9c%eb%84%a4%ec%9e%84-%ed%85%8c%ea%b7%b8-%eb%b9%8c%eb%93%9c%eb%84%98%eb%b2%84-%eb%b2%84%ec%a0%84%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/blog.goorigo.com\/?p=1202","title":{"rendered":"Android \ucf54\ub4dc\ub124\uc784, \ud14c\uadf8, \ube4c\ub4dc\ub118\ubc84 \ubc84\uc804\uc815\ub9ac"},"content":{"rendered":"<h1 id=\"codenames-tags-and-build-numbers\">Codenames, Tags, and Build Numbers<\/h1>\n<p>At a high level, Android development happens around families of releases, which use code names ordered alphabetically after tasty treats.<\/p>\n<h2 id=\"platform-code-names-versions-api-levels-and-ndk-releases\">Platform code names, versions, API levels, and NDK releases<\/h2>\n<p>The code names match the following version numbers, along with API levels and NDK releases provided for convenience:<\/p>\n<table>\n<thead>\n<tr>\n<th>Code name<\/th>\n<th>Version<\/th>\n<th>API level<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>(no code name)<\/td>\n<td>1.0<\/td>\n<td>API level 1<\/td>\n<\/tr>\n<tr>\n<td>(no code name)<\/td>\n<td>1.1<\/td>\n<td>API level 2<\/td>\n<\/tr>\n<tr>\n<td>Cupcake<\/td>\n<td>1.5<\/td>\n<td>API level 3, NDK 1<\/td>\n<\/tr>\n<tr>\n<td>Donut<\/td>\n<td>1.6<\/td>\n<td>API level 4, NDK 2<\/td>\n<\/tr>\n<tr>\n<td>Eclair<\/td>\n<td>2.0<\/td>\n<td>API level 5<\/td>\n<\/tr>\n<tr>\n<td>Eclair<\/td>\n<td>2.0.1<\/td>\n<td>API level 6<\/td>\n<\/tr>\n<tr>\n<td>Eclair<\/td>\n<td>2.1<\/td>\n<td>API level 7, NDK 3<\/td>\n<\/tr>\n<tr>\n<td>Froyo<\/td>\n<td>2.2.x<\/td>\n<td>API level 8, NDK 4<\/td>\n<\/tr>\n<tr>\n<td>Gingerbread<\/td>\n<td>2.3 &#8211; 2.3.2<\/td>\n<td>API level 9, NDK 5<\/td>\n<\/tr>\n<tr>\n<td>Gingerbread<\/td>\n<td>2.3.3 &#8211; 2.3.7<\/td>\n<td>API level 10<\/td>\n<\/tr>\n<tr>\n<td>Honeycomb<\/td>\n<td>3.0<\/td>\n<td>API level 11<\/td>\n<\/tr>\n<tr>\n<td>Honeycomb<\/td>\n<td>3.1<\/td>\n<td>API level 12, NDK 6<\/td>\n<\/tr>\n<tr>\n<td>Honeycomb<\/td>\n<td>3.2.x<\/td>\n<td>API level 13<\/td>\n<\/tr>\n<tr>\n<td>IceCreamSandwich<\/td>\n<td>4.0.1 &#8211; 4.0.2<\/td>\n<td>API level 14, NDK 7<\/td>\n<\/tr>\n<tr>\n<td>IceCreamSandwich<\/td>\n<td>4.0.3<\/td>\n<td>API level 15<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Starting with Cupcake, individual builds are identified with a short build code, e.g. FRF85B.<\/p>\n<p>The first letter is the code name of the release family, e.g. F is Froyo.<\/p>\n<p>The second letter is a branch code that allows Google to identify the exact code branch that the build was made from, and R is by convention the primary release branch.<\/p>\n<p>The next letter and two digits are a date code. The letter counts quarters, with A being Q1 2009. Therefore, F is Q2 2010. The two digits count days within the quarter, so F85 is June 24 2010.<\/p>\n<p>Finally, the last letter identifies individual versions related to the same date code, sequentially starting with A; A is actually implicit and usually omitted for brevity.<\/p>\n<p>The date code is not guaranteed to be the exact date at which a build was made, and it is common that minor variations added to an existing build re-use the same date code as that existing build.<\/p>\n<h2 id=\"source-code-tags-and-builds\">Source code tags and builds<\/h2>\n<p>Starting with Donut, the exact list of tags and builds is in the following table:<\/p>\n<table>\n<thead>\n<tr>\n<th>Build<\/th>\n<th>Tag<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>DRC83<\/td>\n<td>android-1.6_r1.1<\/td>\n<td>earliest Donut version, ADP1, ADP2<\/td>\n<\/tr>\n<tr>\n<td>DRC92<\/td>\n<td>android-1.6_r1.2<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>DRD08<\/td>\n<td>android-1.6_r1.3<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>DRD20<\/td>\n<td>android-1.6_r1.4<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>DMD64<\/td>\n<td>android-1.6_r1.5<\/td>\n<td>latest Donut version<\/td>\n<\/tr>\n<tr>\n<td>ESD20<\/td>\n<td>android-2.0_r1<\/td>\n<td>earliest Eclair version<\/td>\n<\/tr>\n<tr>\n<td>ESD56<\/td>\n<td>android-2.0.1_r1<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>ERD79<\/td>\n<td>android-2.1_r1<\/td>\n<td>Nexus One<\/td>\n<\/tr>\n<tr>\n<td>ERE27<\/td>\n<td>android-2.1_r2<\/td>\n<td>Nexus One<\/td>\n<\/tr>\n<tr>\n<td>EPE54B<\/td>\n<td>android-2.1_r2.1p<\/td>\n<td>Nexus One<\/td>\n<\/tr>\n<tr>\n<td>ESE81<\/td>\n<td>android-2.1_r2.1s<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>EPF21B<\/td>\n<td>android-2.1_r2.1p2<\/td>\n<td>latest Eclair version<\/td>\n<\/tr>\n<tr>\n<td>FRF85B<\/td>\n<td>android-2.2_r1<\/td>\n<td>earliest Froyo version, Nexus One<\/td>\n<\/tr>\n<tr>\n<td>FRF91<\/td>\n<td>android-2.2_r1.1<\/td>\n<td>Nexus One<\/td>\n<\/tr>\n<tr>\n<td>FRG01B<\/td>\n<td>android-2.2_r1.2<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>FRG22D<\/td>\n<td>android-2.2_r1.3<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>FRG83<\/td>\n<td>android-2.2.1_r1<\/td>\n<td>Nexus One<\/td>\n<\/tr>\n<tr>\n<td>FRG83D<\/td>\n<td>android-2.2.1_r2<\/td>\n<td>Nexus One<\/td>\n<\/tr>\n<tr>\n<td>FRG83G<\/td>\n<td>android-2.2.2_r1<\/td>\n<td>Nexus One<\/td>\n<\/tr>\n<tr>\n<td>FRK76<\/td>\n<td>android-2.2.3_r1<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>FRK76C<\/td>\n<td>android-2.2.3_r2<\/td>\n<td>latest Froyo version<\/td>\n<\/tr>\n<tr>\n<td>GRH55<\/td>\n<td>android-2.3_r1<\/td>\n<td>earliest Gingerbread version, Nexus S<\/td>\n<\/tr>\n<tr>\n<td>GRH78<\/td>\n<td>android-2.3.1_r1<\/td>\n<td>Nexus S<\/td>\n<\/tr>\n<tr>\n<td>GRH78C<\/td>\n<td>android-2.3.2_r1<\/td>\n<td>Nexus S<\/td>\n<\/tr>\n<tr>\n<td>GRI40<\/td>\n<td>android-2.3.3_r1<\/td>\n<td>Nexus One, Nexus S<\/td>\n<\/tr>\n<tr>\n<td>GRI54<\/td>\n<td>android-2.3.3_r1.1<\/td>\n<td>Nexus S<\/td>\n<\/tr>\n<tr>\n<td>GRJ06D<\/td>\n<td>android-2.3.4_r0.9<\/td>\n<td>Nexus S 4G<\/td>\n<\/tr>\n<tr>\n<td>GRJ22<\/td>\n<td>android-2.3.4_r1<\/td>\n<td>Nexus One, Nexus S, Nexus S 4G<\/td>\n<\/tr>\n<tr>\n<td>GRJ90<\/td>\n<td>android-2.3.5_r1<\/td>\n<td>Nexus S 4G<\/td>\n<\/tr>\n<tr>\n<td>GRK39C<\/td>\n<td>android-2.3.6_r0.9<\/td>\n<td>Nexus S<\/td>\n<\/tr>\n<tr>\n<td>GRK39F<\/td>\n<td>android-2.3.6_r1<\/td>\n<td>Nexus One, Nexus S<\/td>\n<\/tr>\n<tr>\n<td>GWK74<\/td>\n<td>android-2.3.7_r1<\/td>\n<td>latest Gingerbread version, Nexus S 4G<\/td>\n<\/tr>\n<tr>\n<td>ITL41D<\/td>\n<td>android-4.0.1_r1<\/td>\n<td>earliest IceCreamSandwich version, Galaxy Nexus<\/td>\n<\/tr>\n<tr>\n<td>ITL41D<\/td>\n<td>android-4.0.1_r1.1<\/td>\n<td>Galaxy Nexus<\/td>\n<\/tr>\n<tr>\n<td>ITL41F<\/td>\n<td>android-4.0.1_r1.2<\/td>\n<td>Galaxy Nexus<\/td>\n<\/tr>\n<tr>\n<td>ICL53F<\/td>\n<td>android-4.0.2_r1<\/td>\n<td>Galaxy Nexus<\/td>\n<\/tr>\n<tr>\n<td>IML74K<\/td>\n<td>android-4.0.3_r1<\/td>\n<td>Nexus S<\/td>\n<\/tr>\n<tr>\n<td>IML77<\/td>\n<td><\/td>\n<td>latest IceCreamSandwich version<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The branches froyo, gingerbread, ics-mr0, ics-mr1, represent development branches that do not exactly match configurations that were tested by Google. They might contain a variety of changes in addition to the official tagged releases, and those haven&#8217;t been as thoroughly tested.<\/p>\n<h2 id=\"honeycomb-gpl-modules\">Honeycomb GPL modules<\/h2>\n<p>For Honeycomb, the entire platform source code isn&#8217;t available. However, the parts of Honeycomb licensed under the GPL and LGPL are available under the following tags:<\/p>\n<table>\n<thead>\n<tr>\n<th>Build<\/th>\n<th>Tag<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>HRI39<\/td>\n<td>android-3.0_r1<\/td>\n<td>earliest Honeycomb version<\/td>\n<\/tr>\n<tr>\n<td>HRI66<\/td>\n<td>android-3.0_r1.1<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>HWI69<\/td>\n<td>android-3.0_r1.2<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>HRI93<\/td>\n<td>android-3.0_r1.3<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>HMJ37<\/td>\n<td>android-3.1_r1<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>HTJ85B<\/td>\n<td>android-3.2_r1<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>HTK55D<\/td>\n<td>android-3.2.1_r1<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>HTK75D<\/td>\n<td>android-3.2.1_r2<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>HLK75C<\/td>\n<td>android-3.2.2_r1<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>HLK75D<\/td>\n<td>android-3.2.2_r2<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>HLK75F<\/td>\n<td>android-3.2.4_r1<\/td>\n<td>latest Honeycomb version<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>There is no manifest that contains exactly those. However, there are manifests that allow building those components. The following commands work for 3.0_r1.1, and using other versions can be done by switching the git checkout paramater, and if necessary the -m parameter in repo init. The git checkout command outputs an error for the non-GPL projects, where it can&#8217;t find the tag in question.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Codenames, Tags, and Build Numbers At a high level, Android development happens around families of releases, which use code names ordered alphabetically after tasty treats. Platform code names, versions, API&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[54],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts\/1202"}],"collection":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1202"}],"version-history":[{"count":0,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts\/1202\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}