이번 포스팅에서는 원문에서 설명된 안드로이드 OS 컴파일을 위한 환경 구축과 소스코드 다운로드 방법을 설명한다.

안드로이드는 오픈 소스 라이센스로 구성되어 있기 때문에 구글에서는 이를 공개하여 git으로 다운로드 할 수 있도록 제공한다.

다운로드에 대한 원문 설명은 아래와 같다.

Android OS Soruce Code : http://source.android.com/source/index.html

 

원문에서는 GNU/Linux와 Mac OS (Intel/x86) 두 가지에 대한 환경 구축을 설명하지만, 이번 포스팅에서는 리눅스 환경에서 구축하는 것을 주로 하여 설명한다.

 

 

1. 환경 구축 요구사항

  - http://source.android.com/source/requirements.html

 

하드웨어 요구사항

  - 진저브레드(2.3.x) 이상의 OS 버전에서는 64-bit 환경 필요

  - checkout에 필요한 공간은 최소 100GB이며, 싱글 빌드시 150GB가 필요하고, 그 이상일 경우 최소 200GB를 필요

  - 가상 머신환경에서는 최소 16GB의 RAM/swap 크기 필요


소프트웨어 요구사항

  - Android 6.0 (Marshmallow) - AOSP master: Ubuntu 14.04 (Trusty)

  - Android 2.3.x (Gingerbread) - Android 5.x (Lollipop): Ubuntu 12.04 (Precise)

  - Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)


Java Development Kit (JDK)

  - The master branch of Android in AOSP: Ubuntu - OpenJDK 8, Mac OS - jdk 8u45 or newer
  - Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Ubuntu - OpenJDK 7, Mac OS - jdk-7u71-macosx-x64.dmg
  - Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat): Ubuntu - Java JDK 6, Mac OS - Java JDK 6
  - Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu - Java JDK 5

 

주요 패키지

  - Python 2.6 -- 2.7 from python.org
  - GNU Make 3.81 -- 3.82 from gnu.org; Android 3.2.x (Honeycomb) and earlier will need to revert from make 3.82 to avoid build errors
  - Git 1.7 or newer from git-scm.com

 

 

2. 환경 구축

필자의 경우 Ubuntu 14.04.4 LTS 에서 구동되는 것을 확인하였으며, Build:LMY48T / Branch:android-5.1.1_r19의 소스 코드를 다운받아 빌드되는 것을 확인하였다.


  - 필요 패키지 설치

    $ apt-get update

    $ apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

 

 

3. Repo 설치

  - http://source.android.com/source/downloading.html

 

  - root 디렉토리 아래에 bin 디렉토리를 만들고 PATH 환경 변수 설정

$ mkdir ~/bin
$ PATH=~/bin:$PATH

  - Repo 도구를 다운로드하고 실행 퍼미션 설정

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

 

 


4. Repo 클라이언트 초기화

  - 소스 코드를 다운받아 작업할 디렉토리 생성

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY


  - 해당 git에 이름과 이메일 주소 등록

$ git config --global user.name "Your Name"
$ git config --global user.email "you@example.com"


  - 등록하지 않은 상태에서 Repo 클라이언트 초기화를 진행하면 다음과 같은 에러가 발생
 


 

  - 기본 마스터로 설정된 코드를 다운받고 싶다면 아래와 같이 입력

$ repo init -u https://android.googlesource.com/platform/manifest


  - 만약 원하는 특정 버전의 소스 코드를 받고 싶다면 -b 옵션으로 해당 브런치 네임을 사용하여 초기화

$ repo init -u https://android.googlesource.com/platform/manifest -b {BranchName}

  ex) repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.1_r19


  - 원하는 브런치를 확인하기 위해서는 아래의 주소를 참고하면 된다.

Android SourceCode : http://source.android.com/source/build-numbers.html#source-code-tags-and-builds

 

 


  - 다음과 같이 'y'를 누르면 Repo 클라이언트 초기화 작업은 완료된다.

 

 

5. 안드로이드 소스 코드 다운로드 (android-5.1.1_r19 기준 약 40GB, 1시간 반 소요)

$ repo sync



 

  - 소스 코드 다운로드 완료 후, 저장된 소스 코드 목록

 

 

+ Recent posts