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 Codenames, Versions, API Levels, and NDK Releases
플랫폼 코드네임, 버전, API 레벨 그리고 NDK 배포
The code names match the following version numbers, along with API levels and NDK releases provided for convenience:
코드 네임은 버전 넘버와 함께 편의를 위해 제공되는 API 레벨, NDK배포와 매칭이 된다.
Code name | Version | API level |
---|---|---|
Marshmallow | 6.0 | API level 23 |
Lollipop | 5.1 | API level 22 |
Lollipop | 5.0 | API level 21 |
KitKat | 4.4 - 4.4.4 | API level 19 |
Jelly Bean | 4.3.x | API level 18 |
Jelly Bean | 4.2.x | API level 17 |
Jelly Bean | 4.1.x | API level 16 |
Ice Cream Sandwich | 4.0.3 - 4.0.4 | API level 15, NDK 8 |
Ice Cream Sandwich | 4.0.1 - 4.0.2 | API level 14, NDK 7 |
Honeycomb | 3.2.x | API level 13 |
Honeycomb | 3.1 | API level 12, NDK 6 |
Honeycomb | 3.0 | API level 11 |
Gingerbread | 2.3.3 - 2.3.7 | API level 10 |
Gingerbread | 2.3 - 2.3.2 | API level 9, NDK 5 |
Froyo | 2.2.x | API level 8, NDK 4 |
Eclair | 2.1 | API level 7, NDK 3 |
Eclair | 2.0.1 | API level 6 |
Eclair | 2.0 | API level 5 |
Donut | 1.6 | API level 4, NDK 2 |
Cupcake | 1.5 | API level 3, NDK 1 |
(no code name) | 1.1 | API level 2 |
(no code name) | 1.0 | API level 1 |
Starting with Cupcake, individual builds are identified with a short build code, e.g. FRF85B.
Cipcake부터 개별적인 빌드는 FRF85B와 같은 짧은 빌드 코드를 가지게 되었다.
The first letter is the code name of the release family, e.g. F is Froyo.
첫 글자는 배포 단위의 코드네임이다. 예를 들어 F는 Froyo이다.
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.
두 번째 글자는 구글이 확실히 어느 부분에서 시작된 코드인지 확인 할 수 있는 브랜치 코드이다. R은 규칙에 의한 주요 릴리즈 지점이다.
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.
다음 글자와 두 숫자는 날짜 코드이다. 글자는 1분기당 1씩 증가하며 A는 2009년 1분기이다. 그러므로 F는 2010년 2분기이다. 두 숫자는 분기내 하루를 나타낸다. 그러니까, F85는 2010년 6월 24일 이다.
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.
마지막으로, 마지막 글자는 같은 날에 개별적인 구분자이다. A부터 연속적으로 지정되며 보통 A는 생략된다.
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.
날짜 코드는 정확히 빌드된 날짜에 맞춰 붙는 것이 아니다. 보통 이미 빌드된 코드의 같은 날짜 코드를 마이너한 변화를 추가하여 재 빌드한다.
SourceCode Tags and Builds
소스코드 태그와 빌드
Starting with Donut, the exact list of tags and builds is in the following table. Factory images and binaries for Nexus devices can be downloaded from:
Donut부터 태그와 빌드 리스트는 아래 테이블에 있다. 공장이미지와 넥서스 바이너리는 아래 링크에서 다운 받을 수 있다.
https://developers.google.com/android/nexus/images
https://developers.google.com/android/nexus/drivers
(테이블은 여기를 참조해주세요. 너무 태이블이 커서.....)
The branches froyo, gingerbread, ics-mr0, ics-mr1, jb-dev, jb-mr1-dev, jb-mr1.1-dev, jb-mr2-dev, kitkat-dev 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't been as thoroughly tested.
froyo, gingerbread, ics-mr0, ics-mr1, jb-dev, jb-mr1-dev, jb-mr1.1-dev, jb-mr2-dev, kitkat-dev는 구글이 테스트한 것과 정확히 일치하지 않는 개발 지점의 대표한다. 그들은 아마 공식으로 이름이 붙은 배포판에 다양한 변화를 추가한 것이고, 정밀한 테스트가 되지 않았을 것이다.
To differentiate between releases, you may obtain a list of changes associated with each project by issuing the following command and passing it the two branch tags:
배포된 것들 사이의 프로젝트 별 이슈 사항 및 두 지점의 다른 점은 아래의 명령어를 통해서 확인 할 수 있다.
$ repo forall -pc 'git log --no-merges --oneline branch-1..branch-2'
For example:
예를 들어 :
$ repo forall -pc 'git log --no-merges --oneline android-4.4.2_r2..android-4.4.2_r1'
And to output to a text file:
그리고 text 파일로 출력 할 수 있다.
repo forall -pc 'git log --no-merges --oneline android-4.4.2_r2..android-4.4.2_r1' > /tmp/android-4.4.2_r2-an
Honeycomb GPL Modules
Honeycomb GPL 모듈
For Honeycomb, the entire platform source code isn't available. However, the parts of Honeycomb licensed under the GPL and LGPL are available under the following tags:
Honeycomb의 전체 플렛폼 소스코드는 사용 할 수 없다. 그러나, GPL과 LGPL의 라이센스 Honeycomb중 아래에 나타난 것들은 사용 할 수 있다.
Build | Tag | Notes |
---|---|---|
HRI39 | android-3.0_r1 | earliest Honeycomb version |
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 | latest Honeycomb version |
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't find the tag in question.
그것들은 정확히 그것들을 나타내는 것이 아니다. 그러나 그것들의 컴포넌트를 빌딩 한 것이다. 아래의 명령어는 3.0_r1.1(git 체크아웃 파라미터를 변경 하면 다른 버전도 동작한다.) 버전을 위한 것이고, repo init(repo 초기화)가 필요하다면 -m를 같이 써도 된다. 위의 표에 Tag로 나타나지 않은 GPL 프로젝트가 아닌 git 체크아웃 명령어는 에러가 난다.
$ repo init -b master -m base-for-3.0-gpl.xml
$ repo sync
$ repo forall -c git checkout android-3.0_r1.1