1) H/W 환경

단순 App 개발이 아니다. Android platform 전체를 compile하기 위해서 필요한 computing resource는 상당히 크다.

물론 남는 게 시간이고, 한 번 compile 걸어놓고 다음 날 확인해도 상관 없다면야 할 말은 없지만...그렇지 않다면 최소한 quad-core CPU에 16GB 이상 RAM을 확보하는 걸 추천.

여유 HDD는 약 50GB 이상이 필요하다. (CCACHE를 사용하면 200G 이상 추천)


2) compile 환경

Android 만들기, 즉 source code compile을 위해선 Linux나 Mac OS가 필요하다.

자세한 내용은 http://source.android.com/source/initializing.html 에 나와 있음.

일단 여기서는, MS Windows가 설치된 PC에서 가상환경을 통해 Ubuntu를 설치하고, compile 환경 구축하는 것을 설명한다. (왜냐하면 게임이나 웹서핑도 하면서 해야하니까)


2-1) Ubuntu OS download

공식적으로 지원하는 Ubuntu에서의 Android build 환경은 Ubuntu 10.04이다.

하지만 12.04에서 만든 결과물이 문제가 되었던 적은 없으므로, 12.04를 설치하기로 했다.

주의할 점이라면 64 bit를 download해야 한다. (Android 2.3 Gingerbread 이후 version을 build하기 위한 필수사항)

http://www.ubuntu.com/download/server/thank-you?distro=server&bits=64&release=lts


2-2) MS Windows에서의 가상환경

현재 사용중인 OS는 Windows 8.1인데, vmware player가 제대로 동작하지 않는다. (우회법은 있음)

Windows 7까지는 vmware player를 통해 썼었는데, 이렇게 된거, Windows 8에 포함되어 있는 Hyper-V 기능을 이용해보기로 했다.

단순 ubuntu 설치니까 vmware나 기타 다른 SW를 사용해도 무방하다.

vmware workstation를 쓰면 해결될 것 같은데..이건 유료라서. ㅠ_ㅠ

돈 주고 산 정품 SW에서 제공하는 기능을 하나라도 더 쓰기로 했음 ( -_-);


2-3) Hyper-V 기능 활성화

제어판 -> Windows 기능 켜기/끄기 -> Hyper-V 관련 항목을 check하여 전체 설치한다.

reboot 후 해당 기능을 사용할 수 있다.


2-4) Hyper-V에서 가상 환경 새로 만들기

- Gen 1으로 설정 (Gen 2는 설치 불가. SCSI HDD밖에 지원 안하는데, 이걸 쓰려면 Windows가 필요하다고 함)

- CPU는 최대 개수로 (logical core 개수, 즉 hyper threading을 포함한 core 개수를 넣는다)

- Memory는 원하는 대로. 동적 memory 할당을 하지 않을 경우, memory 할당이 어려울 수도 있음. 어쨌든 높게;;

- HDD는 실제 HDD를 써도 되고, 가상 HDD를 써도 된다. 일단 linux는 가상 HDD에 설치하고, 별도의 실제 물리 HDD를 추가 HDD로 설정함. 단, Windows의 disk 관리자에서 사용하고자 하는 물리 HDD를 오른 click하여 "오프라인으로 설정" 진행한 후에 설정할 수 있다.


2-4-1) 가상 HDD vs 물리 HDD

당연하지만, 물리 HDD를 SCSI controller에 넣는 것이 속도가 가장 빠르다. 특히 Android build의 경우, 매우 많은 source code 및 object file들로 인해, I/O가 매우 중요하다.


2-5) linux 설치

Ubuntu 설치 CD file을 가상 PC에서 인식하도록 설정하고, 설치를 진행한다.

굳이 한글로 설치할 필요는 없어서, 지역만 asia/seoul로 하고, 언어는 en.UTF-8로 설치.

이후로는 가상 PC에서 ifconfig로 IP 주소를 확인하고, Windows에서 putty등의 terminal로 작업이 가능하다.

굳이 GUI가 필요없다. Ubuntu server 12.04 LTS의 경우, 기본 설치를 하면 X-window가 설치되지 않으므로 그냥 기본값으로 설치하면 된다.


2-6) Samba 설치.

host OS인 MS Windows와 file 공유를 위해선, linux에 Samba를 설치하는 게 간편하다.

/etc/smb.conf를 수정하여 homes 부분을 uncomment 해둬야 함.

global에서 dos / unix / display 각각 charset을 설정해줄 것.


2-7) Android build를 위한 기본 package들 설치.

http://source.android.com/ 에 있는 내용을 참고하면 된다.


2-7-1) 12.04에서 필요한 package들을 설치한다.


$ sudo apt-get install git gnupg flex bison gperf build-essential \
  zip curl libc6
-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11
-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1
-mesa-dev g++-multilib mingw32 tofrodos \
  python
-markdown libxml2-utils xsltproc zlib1g-dev:i386


2-7-2) JDK 설치
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

$ sudo add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main"

$ sudo apt-get update

$ sudo apt-get install oracle-java6-installer


2-8) CCACHE 등 기타 설정

http://source.android.com/source/initializing.html 참고해서 진행 할 것.


2-9) repo 설치

$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ chmod a+x ~/bin/repo


2-10) source code download

http://source.android.com/source/downloading.html 참고할 것.

일단 source code를 저장할 곳을 만들고 해당 directory에서 작업한다.


특정 version이 아니라 master branch에서 sync하자
$ repo init -u https://android.googlesource.com/platform/manifest

$ repo sync -c -d -j4



Trackbacks  0 | Comments  0