본문 바로가기

AOSP

Mac OS X 10.7 (Lion) 에서 안드로이드 빌드환경 설정하기

안드로이드 빌드는 리눅스(우분투)에서 하는 것을 권장하고 있지만,

매킨토시를 사용하고 계시다면 맥에서 빌드하는 것도 가능합니다.

(최근에는 안드로이드 개발도 맥에서 많이 하고 있지요..ㅎㅎ)


하지만, 리눅스와 맥은 환경이 다르기 때문에 몇가지 추가적인 환경설정이 필요합니다.

이 포스트에서는 OSX 10.7 (Lion)에서 안드로이드 빌드 환경을 설정하는 방법을 알아보겠습니다.


1. Brew for Mac 설치


Brew(Homebrew)는 리눅스의 apt-get 명령어와 같이

빌드에 필요한 패키지를 쉽게 설치할 수 있도록 도와주는 패키지 관리자입니다.



brew를 설치하기 위해 터미널에서 다음 명령어를 입력합니다.


ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"


설치 후 문제점이 없는지 확인하기 위해 brew doctor를 실행합니다.


$ brew doctor



주의

Command line Tools가 설치되어 있어야 합니다. Command line tools는 애플 개발자 홈페이지를 통해 다운로드하거나 XCode의 Preferences -> Downloads -> Components 탭에서 설치할 수 있습니다.


문제가 없다면 다음 명령어를 입력하여 빌드에 필요한 패키지를 설치합니다.


$ brew install git coreutils findutils gnu-sed gnupg pngcrush



2. 안드로이드 소스를 받을 디스크 이미지 생성하기


안드로이드를 빌드하려면 대/소문자를 구분하는 파일시스템이 필요합니다.

디스크 관리자(hdiutil)을 사용하여 디스크 이미지를 생성합니다.

안드로이드 소스 용량이 꽤 크므로 디스크 크기는 넉넉하게 잡는 것이 좋습니다. (최소 40GB 권장)

다음 명령어를 입력하여 디스크 이미지를 생성합니다.


$ hdiutil create -type SPARSE -fs "Case-sensitive Journaled HFS+" -size 60g -volname "Android" -attach ~/Android


위에서 size에 들어갈 값은 자신이 원하는 크기로 조절하시면 되고, attach 뒤에 들어가는 인자는 만들어진 디스크 이미지를 저장할 경로로 이 또한 자신이 원하는 위치로 지정하면 됩니다.


디스크 이미지가 생성되었다면, 디스크를 마운트하여 소스를 받을 준비를 합니다.


3. repo 다운로드, 설정 및 소스 다운로드


repo는 Git 저장소에 있는 안드로이드 소스를 쉽게 다운로드하기 위한 툴입니다.

repo를 다운로드하기 전에 먼저 자신의 홈 폴더에 /bin 디렉토리를 생성합니다.

디렉토리를 생성한 후 이를 PATH에 추가합니다.


$ mkdir ~/bin

$ PATH=~/bin:$PATH


다음, repo를 다운로드한 후 repo를 실행할 수 있도록 권한을 변경해줍니다.


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


이제 소스를 다운로드할 준비가 되었습니다.

소스를 다운로드하기 위해 앞에서 생성한 디스크 이미지로 이동한 후,

repo init을 실행하여 소스 다운로드를 위핸 설정을 해줍니다. 여기에서는 master 브랜치를 다운로드하는 경우를 가정합니다.


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


이제 소스를 받을 준비가 모두 끝났습니다. repo sync를 입력하면  master 브랜치의 소스를 다운로드합니다.

소스 용량이 꽤 크므로 네트워크 사정에 따라 2~3시간까지 소요될 수도 있습니다.


$ repo sync


소스 다운로드가 끝나면 다음과 같이 이쁘게(?!) 파일들이 들어와 있는 것을 확인할 수 있습니다.



4. 빌드하기


빌드를 하기 위해 먼저 빌드 명령어 설정이 필요합니다.

다음 명령어를 사용하여 빌드 명령어를 설정합니다.


$ source build/envsetup.sh


다음과 같이 빌드 명령어가 설정된 것을 확인할 수 있습니다.

다음으로 빌드할 타깃을 설정합니다. lunch 명령어를 사용하여 타깃을 설정할 수 있으며, 자세한 내용은 여기를 참조하세요.

lunch를 사용하여 타깃을 설정한 후에 make를 입력하면 설정한 타킷을 빌드하게 됩니다.


주의

OSX 10.7을 클린설치 한 경우 OSX 10.6 SDK가 포함되어 있지 않습니다. (XCode 4.4에 포함되어 있지 않기 때문) 때문에 그냥 빌드를 실행하려 하면 다음과 같은 메시지가 표시됩니다.


build/core/combo/HOST_darwin-x86.mk:38: *****************************************************
build/core/combo/HOST_darwin-x86.mk:39: * Can not find SDK 10.6 at /Developer/SDKs/MacOSX10.6.sdk
build/core/combo/HOST_darwin-x86.mk:40: * or /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk
build/core/combo/HOST_darwin-x86.mk:41: *****************************************************
build/core/combo/HOST_darwin-x86.mk:42: *** Stop..  Stop.


이를 해결하려면 애플 개발자 홈페이지에서 XCode 4.3을 다운로드한 후, 패키지 내용 보기 -> Contets/Developer/Platforms/MacOSX.platform/Developer/SDKs/에 있는 MacOSX10.6.sdk를 /Developer/SDKs에 복사해주면 됩니다.