분류없음2011.06.18 15:09
이번 글은 http://source.android.com/source/initializing.html 사이트의 내용을 토대로
Ubuntu 10.04 Server 32bit에 Android Froyo 컴파일 환경, 
Ubuntu 10.04 Server 64bit에 Android Gingerbread 컴파일 환경을 구축하는 글 입니다.
두 환경에서 차이나는 부분에서만 유의하시면 됩니다.

1. Ubuntu 10.04 Server 다운로드
아래 다음 사이트에서 다운받으실 수 있습니다.
- Froyo (32bit 필요) : http://ftp.daum.net/ubuntu-releases/10.04/ubuntu-10.04.3-server-i386.iso
- Gingerbread (64bit 필요) :  http://ftp.daum.net/ubuntu-releases/10.04/ubuntu-10.04.2-server-amd64.iso


2. VMware에 Ubuntu 설치
VMware가 없으면 무료 프로그램인 VMware Player 또는 VirtualBox를 이용해서 설치할 수도 있습니다.
- "New Virtual Machine" 선택한 후 "Next" 클릭


- 위에서 다운받은 iso 파일 선택


- 하드웨어 변경 사항 없을 경우 "Finish" 버튼 선택


- 아래 화면과 같이 놔두면 ubuntu 설치


- 최초 설치 시 VMware Tools 설치, 몇 분 기다리시면 로그인 창으로 이동합니다.


- 설치 완료



3. 패키지 서버 변경
처음 설치 시 패키지 서버가 미국으로 되어 있기 때문에 속도가 느립니다.
현재(ftp.daum.net)에서 패키지 서버를 운영하고 있기 때문에 변경해주면 빠르게 다운받으실 수 있습니다.
- 리스트 파일 열기

$ sudo nano /etc/apt/sources.list



- 파일 편집
① Ctrl+W 누른 후 Ctrl+R 누르면 Replace 모드로 전환
② 'Search (to replace)'에서 'us.archive.ubuntu.com
③ 'Replace with'에서 'ftp.daum.net'
④ A 입력해서 전부 변경
⑤ Ctrl+X 눌러서 종료
⑥ Y 입력
⑦ 덮어쓰기 창에서 엔터 입력

- 변경 내용 적용

sudo apt-get update



4. SSH, PuTTY 설치
VMware을 직접 사용하셔도 되지만 사용 편의를 위해서 SSH와 PuTTY를 설치합니다.
자세한 내용은 아래 링크 참고하세요.
http://keepburning.tistory.com/241


5. JDK 설치
Froyo는 JDK5를 설치하고 Gingerbread는 JDK6를 설치해야 합니다.
아래 글을 확인해 주세요.
http://keepburning.tistory.com/251


6. 필요 패키지 설치
Android에서 필요한 패키지들을 아래 명령어로 설치하세요.
- Froyo (32bit)

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib x11proto-core-dev libx11-dev libncurses5-dev libreadline5-dev


- Gingerbread (64bit)

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos



7. Repo 설치
Android 소스를 받기 위해서는 repo 명령어가 필요합니다.

$ sudo curl http://android.git.kernel.org/repo > ./repo

$ sudo mv ./repo /usr/local/bin/repo

$ sudo chmod 755 /usr/local/bin/repo


(2012.04.26 수정)

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

$ sudo mv repo /usr/local/bin/repo

$ sudo chmod a+x /usr/local/bin/repo



8. 소스 다운로드
- 소스를 다운받기위해 폴더를 만들고 repo init 명령어를 입력하세요.

- Froyo

$ mkdir repo_froyo

$ cd repo_froyo

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


- Gingerbread

$ mkdir source_gingerbread

$ cd source_gingerbread

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


- "repo init" 입력 후 사용자이름과 이메일주소를 입력하세요.


- "repo sync"를 입력하시면 실제 소스를 다운받기 시작합니다. 하지만 속도는 꽤 느리기 때문에 오랜 시간이 소요됩니다.

$ repo sync



9. rsync를 통한 코드 복사
repo sync를 받은 폴더안에 보시면 .git .repo 파일과 같이 숨김속성을 가진 여러 파일들이 있습니다.
git의 버전관리를 있는 파일들인데, 실제 컴파일할 때 필요도 없는 파일들이고 실제 프로젝트를 진행한다면
git이 있는 폴더에 컴파일을 하면 엄청난 파일들(바이너리 파일 등.)이 생겨나죠.
그래서 이를 피하기 위해서 필요없는 파일들을 제외하고 복사를 해줍니다.
아래와 같이 써주면 froyo git에 있는 파일들 중 컴파일 때 필요한 파일들만 source_froyo에 복사해줍니다.

$ rsync -auv --exclude="*~" --exclude=".git*" --exclude=".repo*" ~/repo_froyo/ ~/source_froyo



10. 컴파일 수행
자세한 내용은 http://source.android.com/source/building.html 참고하세요.

$ source build/envsetup.sh
$ lunch full-eng
$ make -j4

 
컴퓨터 혹은 VMWare에서 설정해 놓은 값에 따라서 컴파일 시간이 차이가 날 수 있어요.
약 1시간~2시간 정도 걸립니다.

도움 되셨으면 댓글 달아주세요~ 
repo : REPURCHASE AGREEMENT, 상품 회수, 회수된 자동차, 환매 부동산, 회수하다


신고
Posted by 황타

티스토리 툴바