Android/정리2009. 5. 11. 14:19
출처: http://www.kandroid.org/board/board.php?board=androidsource&command=body&no=4


안드로이드 전체 소스 코드 빌드 방법

 
먼저 안드로이드 소스를 빌드하기 위해선 리눅스 ubuntu 환경을 만드는 것이 바람직할 듯 합니다.
구글도 ubuntu 를 추천하고 있기 때문이고, 다른 package 사용하면 리눅스 초보자의 경우 작업이
힘들 수 있을 것으로 보입니다. 가급적 우분투를 사용하시기 바랍니다.
 
그럼 이제부터, 제가 build한 절차를 os 설치에서 부터 순차적으로 설명드리도록 하겠습니다.
최종적으로 모두 build하기 까지 꽤 많은 시간이 소비되니 충분한 시간을 가지고 빌드하시기 바랍니다.
 
1. 리눅스 Ubuntu 패키지 설치.
 
   전 참고로 ubuntu-8.04.1 desktop-i386을 사용하였음을 알려드립니다.
 
   - 먼저 아래의 url에서 우분투 iso 이미지를 얻으셔서 리눅스 설치 CD를 만듭니다.

      ftp://ftp.daum.net/ubuntu-releases/8.04.1/ubuntu-8.04.1-desktop-i386.iso
 
   - 그 이후 적당한 컴퓨터에 리눅스를 설치합니다.
 
2. 리눅스가 모두 설치되면 루트 passwd를 일단 설정합니다
 
    $ sudo passwd root
 
3. 만약 설치된 리눅스 Desktop에서 직접 작업을 원하시지 않는다면 ssh를 설치합니다
    저의 경우엔 ssh client를 사용하여 windows에서 접속하여 안드로이드 소스를 빌드하였습니다.
    ssh 설치 방법은 다음과 같습니다.
 
    $ sudo apt-get install ssh
 
4. 안드로이 설치 환경 준비
 
    - 기본적으로 다음과 같은 package를 인스톨하여야 합니다.
 
       $ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
       $ sudo apt-get install valgrind
 
    - 안드로이드는 Phython 2.4 이상이 요구됩니다.
       우분투 8.04.1에는 이미 Phython 2.5가 포함되어 있기 때문에 이 부분은 skip하셔도 됩니다.
 
    - JDK 5.0, Update 12 또는 그 이상이 요구됩니다.
       이를 위해선 다음과 같이 설치하시면 됩니다.
 
       $ sudo apt-get install sun-java6-jdk
 
    - Git 1.5.4 또는 그 이상 버전, 그리고 Repo가 요구됩니다.
 
       $ cd ~
       $ mkdir bin
 
       vi 로 ~/.bashrc 에 다음과 같이 환경변수를 추가합니다.
 
       $ vi ~/.bashrc
 
       export LANG=c
       export PATH=/home/<your_home>/bin:$PATH:.
       export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.07
       export ANDROID_JAVA_HOME=$JAVA_HOME
 
       환경설정을 반영하기 위해 다시 로그인 하시던가 아니면 터미날을 종료했다 다시 실행하세요.
       csh의 경우엔 source ~/.cshrc를 하면 되는데..bash를 잘 모르겠네여.
 
       다음으로 git와 repo를 설치입니다.
 
       $ sudo apt-get install git-core gnupg      
 
       $ curl http://android.git.kernel.org/repo >~/bin/repo
       $ chmod a+x ~/bin/repo
 
       $ mkdir mydroid
       $ cd mydroid
 
       $ repo init -u git://android.git.kernel.org/platform/manifest.git
  
       여기까지 실행하시면, repo initialized in /home/<your_home>/mydroid 란 메시지가 나옵니다.
       이렇게 되면 환경설정은 이제 마무리 되었다고 보셔도 됩니다.
 
5. 안드로이드 소스 얻기
 
       아래과 같이 수행하면 안드로이드 전체 소스를 다운로드 하게 됩니다.
 
       $ repo sync

 
6. 안드로이드 빌드 하기
 
      $ make
 
      이 과정을 수행하는 동안 zlib.h error가 발생할 수 있습니다.
      이 경우에는 아래와 같이 zlibb1g-dev를 설치하시고 계속 make를 수행하면 됩니다.
 
      $ sudo apt-get install zlib1g-dev
      $ make
 
      이 과정을 수행하는 동안 -lncurses error가 발생할 수 있습니다.
      이 경우에는 아래와 같이 libncurses5-dev를 설치하시고 계속 make를 수행하면 됩니다.
 
       $ sudo apt-get install libncurses5-dev
       $ make
 
7. 결과 확인하기
 
       out 디렉토리에 build된 안드로이드 full package가 위치하게 됩니다.
 
       $ cd out
 
8. Kernel 별도로 빌드하기
 
     - msm
 
        $ cd ~/mydroid/kernel
        $ make msm_defconfig ARCH=arm
        $ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
 
     - goldfish (android 1.5에 merge되었으므로 이 커맨드는 동작하지 않음)
 
        $ cd ~/mydroid/kernel
        $ make goldfish_defconfig ARCH=arm
        $ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
 


Posted by 삼스