안드로이드 오픈 소스 프로젝트 개발 환경 셋업하기



이 글은 Google의 안드로이드 오픈 소스 프로젝트의 개발 환경을 Mac OS X Leopard에 설치하는 것을 보여준다. http://source.android.com/download의 내용을 따라하면서 작성한 것이라 이 페이지와 동일한 내용이 많이 있다.




0. 시작하기 앞서
  • 안드로이드 소스 코드를 저장하는 파일 시스템은 반드시 대소문자 구분을 지원해야 한다. 즉, 현재 설치된 Mac OS X의 HFS+ 볼륨이 대소문자 지원을 하는지 확인해보고 진행하시길. 기본 설치를 하셨다면 지원이 안되는 상태이다.
  • 대소문자 지원 하는 볼륨을 새로 만드려고 하면 시스템 부팅 볼륨에서는 불가하니 파티션을 나누어 볼륨을 생성해야 한다.
1. MacPorts 설치하기
  • Xcode 3.0이 설치되어 있어야 한다. Mac OS X Leopard DVD에서 설치할 수 있다.
  • MacPorts DMG 파일을 다운로드 받아 설치한다.
2. MacPorts 사용을 위한 환경 변수 설정
  • 터미널을 열어서 "vim ~/.bash_profile"을 실행한다.
  • 열린 .bash_profile에 "export PATH=/opt/local/bin:${PATH}" 와 같이 입력하여 /opt/local/bin 경로가 가장 먼저 PATH에 등록되도록 한다.
  • vim에서 파일을 저장 후 터미널에서 "echo $PATH"를 실행하여 /opt/local/bin이 가장 먼저 PATH에 나타나는지 확인한다.
3. MacPorts에서 필요 부분 업데이트
  • 터미널에서 "make -v"를 실행하여 GNU Make v3.81 이상의 버전이 설치되어 있는지 확인한다. 아니라면 아래 과정에 따라 설치한다.
  • GNU Make 최신 버전 설치를 위해 "sudo port install gmake"를 실행한다. 어느정도 시간이 지나야 설치가 완료된다. 그런 후 "sudo ln -s gmake /opt/local/bin/make" 를 실행하여 gmake에 대한 링크 파일을 생성한다. 다시 "make -v"로 버전을 확인해보도록 하자.
  • "sudo port install libsdl"을 실행하여 libsdl을 설치한다.
4. .bash_profile 수정
  • 프로세스 당 file descriptor의 적절한 제한을 두기 위해 아래와 같은 코드를 .bash_profile에 추가한다.
    # set the number of open files to be 1024
    ulimit -S -n 1024
5. Git 소스 코드 버전 컨트롤 시스템을 설치
  • Mac OS X용 Git DMG 파일을 다운로드 하여 설치한다.
  • 설치가 완료되면 터미널을 재실행한 후 "git --version"으로 버전이 1.5.4 이상인지를 확인한다. (위 링크로 설치했다면 1.6.0.2로 출력 될 것이다.)
6. Repo 스크립트 설치
  • 홈에 bin 폴더를 생성하고 PATH에 추가한다.
    "mkdir ~/bin" 을 실행하고 "~/.bash_profile"에 "~/bin" 경로를 PATH에 추가하면 된다.
  • "curl http://android.git.kernel.org/repo > ~/bin/repo" 을 실행항 repo 스크립트를 ~/bin에 복사한다.
  • "chmod a+x ~/bin/repo"를 실행하여 repo을 실행 가능하게 한다.
7. Git으로 소스 코드 가져오기
  • 원하는 위치에 안드로이드 소스 코드 용 폴더를 생성한다. 예제로 ~/mydroid라고 가정하겠다.
  • ~/mydroid 폴더로 이동하여 "repo init -u git://android.git.kernel.org/platform/manifest.git" 을 실행한다.
  • 사용자 이메일 주소를 물어보면 자신의 Google 계정 메일 주소를 입력한다.
  • "repo sync"를 실행하여 소스 코드를 가져온다.
  • 이제 부터 한참을 기다려야 할 것이다. 커피 한잔 여유있게 하고 오시길.

댓글

이 블로그의 인기 게시물

Wireless: HotSpot 2.0 이란?

Apple M1 Mac Mini에서 이더리움 (Ethereum) 채굴하기

Java: Java for Game? Java가 Game 개발에 어울릴까?