필요한 라이브러리 설치하기
컴파일 하기위해서 필요한 라이브러리를 한꺼번에 설치하자.

# apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
# apt-get install valgrind



자바 1.5 설치하기
안드로이드는 아직 자바 1.6을 지원하지 않는다. 그래서 1.5 를 설치해야 하는데 문제는 우분투 9.10 에서는 자바 1.5 를 apt-get 으로 설치할수 없다는 것이다.
그래서 아래와 같은 방법이 필요하다.

시스템>관리>소프트웨어 소스를 선택하면 [소프트웨어 소스] 창이 뜬다.
여기서 기타 소프트웨어 탭에서 아래 와 같이 추가해 주자.

deb http://kr.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://kr.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

창을 닫으면 소프트웨어를 다시 읽는것을 볼 수 있다.
내 컴퓨터 같은경우는 다시 읽다가 거의 다된 시점에서 계속 멈추어 있길래 취소를 눌러주었다.
뭔가 오류가 났지만 상관없이 진행되었다.
다되었으면 apt-get 으로 설치해 보도록 하자.

 # apt-get install sun-java5-jdk

 이제 설치되었다면 버젼을 확인해 보자.

 # java -version

 만약 1.5 가 아니라면 아래 명령으로 자바 리스트를 확인한후 업데이트 시켜주자.

# update-java-alternatives -l

java-1.5.0-sun 53 /usr/lib/jvm/java-1.5.0-sun

java-6-sun 63 /usr/lib/jvm/java-6-sun

# update-java-alternatives -s java-1.5.0-sun

 만약 자바 버젼을 바꾸는 도중 아래와 같은 메시지를 볼 수도 있을것이다.

update-alternatives: error: no alternatives for firefox-javaplugin.so.

update-alternatives: error: no alternatives for iceape-javaplugin.so.

update-alternatives: error: no alternatives for iceweasel-javaplugin.so.

update-alternatives: error: no alternatives for jhat.

update-alternatives: error: no alternatives for jrunscript.

update-alternatives: error: no alternatives for midbrowser-javaplugin.so.

update-alternatives: error: no alternatives for mozilla-javaplugin.so.

update-alternatives: error: no alternatives for schemagen.

update-alternatives: error: no alternatives for wsgen.

update-alternatives: error: no alternatives for wsimport.

update-alternatives: error: no alternatives for xjc.

update-alternatives: error: no alternatives for xulrunner-1.9-javaplugin.so.

update-alternatives: error: no alternatives for xulrunner-javaplugin.so.

update-alternatives: error: no alternatives for firefox-javaplugin.so.

update-alternatives: error: no alternatives for iceape-javaplugin.so.

update-alternatives: error: no alternatives for iceweasel-javaplugin.so.

update-alternatives: error: no alternatives for midbrowser-javaplugin.so.

update-alternatives: error: no alternatives for mozilla-javaplugin.so.

update-alternatives: error: no alternatives for xulrunner-1.9-javaplugin.so.

update-alternatives: error: no alternatives for xulrunner-javaplugin.so.

이것은 안드로이드 소스 컴파일과는 관계없지만 다른 어플을 실행하는데 문제가 될 수도 있기 때문에 아래와 같이 sun-java5-plugin 과 sun-java6-plugin 을 설치해 주자.

 # apt-get install sun-java5-plugin sun-java6-plugin

 

컴파일 하기
이제 컴파일할 환경은 다 갖추어 졌다.
다운받은 안드로이드 소스에는 크로스 컴파일 환경까지 갖추어져 있다.
(안드로이드 소스 다운받는법은 android 소스 다운로드 받기 를 참조하자)
그래서 컴파일을 하기위해서는 "build/envsetup.sh" 파일을 환경등록 해주어야 한다.
다운받은 소스의 루트 디렉토리에서 아래와같이 실행해서 환경등록 해주도록 하자.

 # source build/envsetup.sh

다되었다면 이제 make 를 하면 된다.

 # make

안드로이드 소스는 최초 컴파일시 시간이 무척오래 걸린다.
사실 -j 옵션으로 스레드를 돌려주면 시간을 약간 줄일 수 있다.
그런데 이 옵션은 최초 컴파일시는 왠만해서 사용하지 않는것이 좋다.
왜냐하면 먼저 컴파일 된 것을 참조하는 구문이 있을수도 있는데 그런곳에서 오류가 나서 컴파일이 멈추어 버리는 현상이 나오기 때문이다.
일단 처음에는 느리더라고 그냥 make 를 쓰자.

by cranix 2010. 3. 21. 13:56