엠브리오의 일상

안드로이드 소스코드를 빌드해보았습니다.
생각보단 어렵진 않았지만 역시나 처음하는 거라서 약간은 헤멨습니다.

홈페이지는 http://source.android.com/download 입니다.


주의사항
--------

1. root권한으로 작업할것. 그렇지 않으면 많은 삽질해야함.
2. 디스크 용량이 충분한지 반드시 확인할것. (빌드후 대략 3 Gbyte 이상 차지함)
3. Andriod SDK와 혼동하지 말것.
   여기서 시도하는 작업은 새 기계에 안드로이드 플랫폼을
   올리는것이 목적이지 안드로이드 응용프로그램 개발이 절대아님.

   안드로이드 응용 프로그램을 개발하고져 하는 분들은
   Windows용 Android SDK를 받아서 사용할것.
   http://code.google.com/android

사전준비
--------

1. 리눅스나 MacOS가 설치된 x86호환 컴퓨터 필요
2. 되도록이면 리눅스 권장(우분투 리눅스 권장)
3. 여기서는 리눅스만 설명함(FedoraCore9에서 진행했음)
4. 다음에 열거되는 리눅스 패키지를 설치할것.  하나라도 빠지면 빌드도중 에러 발생함.

git 1.54 이후버전
python 2.4
JDK 5.0, update 12 이후 버전

# apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
# apt-get install valgrind

.bash_profile 파일에 다음을 추가한다음 source .bash_profile

export JAVA_HOME=/usr/java/jdk1.6.0_10
PATH=$PATH:$HOME/bin:/usr/java/jdk1.6.0_10/bin


코드 받아오기
-------------
# mkdir bin
# curl http://android.git.kernel.org/repo >~/bin/repo
# chmod a+x ~/bin/repo

# mkdir Android
# cd Android

# repo init -u git://android.git.kernel.org/platform/manifest.git
# repo sync        

sync 가 끝나면 올바른 이메일이 어쩌고 저쩌고 메세지가 나오는데 개발자로
등록을 할게 아니라면 무시할것.


빌드하기
--------

.bash_profile에 export ANDROID_JAVA_HOME=$JAVA_HOME 추가해 준다음
source .bash_profile 하고 나서 cd ~/mydroid 디렉토로 이동한 다음
make 할것.

에러가 나면 에러메세지를 긁어다가 구글에서 검색해 볼것.

필자의 경우 root가 아닌 일반계정으로 시도했다가 헤멨음. root 계정으로 하는 것이 속편함.

위에 열거한 패키지중에 빠진것이 없는지 반드시 확인할것.

JDK가 제대로 설치되지 않아서 javac, javah 같은 프로그램이 없다는
에러가 발생했었고, gperf 가 설치되지 않은채로 빌드했다가
web관련 코드가 제대로 파싱되지 않아서 오류가 났었고
그이외에는 별다른 오류가 발생하지 않았음.

빌드해본 소감을 말하자면..

1. 커널을 뺀 나머지는 거의 JAVA로 도배되어 있다는점
2. 현재는 Windows에서 빌드할수 없다는거..
3. 커널이 의외로 최신버전이라는 점(2.6.25)
4. 생각보다 싱겁게 빌드가 끝난다는거..
Posted by 엠브리오