Android Open Source Build in MAC

MAC에서 빌드를  하기 위해서는 Case-sensitive Journaled HFS+ (대소문자구별, 저널링) 파일 시스템으로 포맷되어 있어야 한다. Journaled HFS+ 파일 시스템으로 포맷되어 있는게 기본이기 때문에 외장하드를 이용하는 것이 좋다. USB 메모리를 이용하여도 좋지만 10기가 이상의 용량을 차지하므로 최소 16기가 이상의 USB를 이용하여야 한다.

1. gcc 환경 구축 (Xcode 설치)

gcc 등의 환경을 구축하기 위해서 Xcode를 설치한다. 이전 버전의 Xcode에서는 라이브러리가 외부로 되어있어서 기본으로 커맨드 명령어 이용이 가능했지만, 최신버전의 Xcode는 앱 내부에 라이브러리가 모두 포함되어있기 때문에 터미널에서 gcc를 이용하려면  Xcode를 설치한 후 커맨드라인툴을 따로 설치하여야한다. Xcode를 실행한후 Preferences의 Downloads 탭을 들어가면 설치할 수 있다.

2. MacPorts 설치

http://www.macports.org/ 에서 다운로드 받아 압축을 풀고, 터미널에서 해당 디렉토리로 이동한다.

cd ~/MacPort (압축을 푼 폴더 경로)

터미널에서 디렉토리 이동할 때 cd 입력 후 파인더에서 해당 폴더를 터미널에 드래그하면 해당 폴더의 경로가 자동으로 입력된다.

경로 이동 후 다음과 같은 명령어를 차례로 입력한다.

$ ./configure

$ make

$ sudo make install

$ sudo port selfupdate

$ sudo port install gmake

$ sudo ln -s gmake /opt/local/bin/make

$ sudo port install libsdl

$ set the number of open files to be 1024

$ sudo port install xemacs +sumo

$ sudo port install gimp

*  sudo port 명령어가 없다고 나오는 경우가 있는데, 환경변수를 추가해 주면 된다.

$ PATH=/opt/local/bin:$PATH

3. Git 설치

http://git-scm.com 에서 패키지파일을 다운로드 받아 설치한다. 터미널에서 할 필요 없이 파인더에서 설치하면 된다.

GNU Privacy Guard를 설치하기 위해서 터미널에 다음과 같은 명령어를 입력한다.

$  sudo port install gnupg

4. Repo script

Repo 를 설치한다.

$ mkdir ~/bin

$ PATH=~/bin:$PATH

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

Repo Initializing

mkdir WORKING_DIRECTORY

cd WORKiNG_DIRECTORY

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

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

파일을 다운받는다. 10 GB 정도의 용량을 차지하는 작업이기 때문에 시간이 오래걸리고, 인터넷이 연결되어있어야한다.

$ repo sync

이 후의 빌드 작업은 http://source.android.com/source/downloading.html 를 참고.

WORKING_DIRECTORY 의 이름은 사용자가 정의해도 되고, Case-sensitive Journaled HFS+ (대소문자구별, 저널링) 파일 시스템으로 포맷된 저장소에 저장하여야한다.

* repo sync 를 재실행 할때 안되는 경우가 있는데, 이전 환경변수가 초기화 되서 그렇다. 처음부터 모든 작업을 다시 할 필요 없이

$ PATH=/opt/local/bin:$PATH

를 터미널에 입력해 주고 작업을 다시 진행하면 된다.

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

%d 블로거가 이것을 좋아합니다: