구글 안드로이드(Android) build

개발환경 : 우분투 8.10

 

1. 안드로이 Build 환경 준비

 

– 기본적으로 다음과 같은 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 이상

      

– 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

 

환경설정을 반영하기 위해 다시 로그인 하시던가 아니면 터미날을 종료했다 다시 실행하세요. 또는,

$ source .bashrc  


다음으로 git와 repo를 설치입니다.

$ sudo apt-get install git-core gnupg      
 
$ curl http://android.git.kernel.org/repo >~/bin/repo
curl 이 없다면 마찬가지로 apt-get 을 이용하여 설치

접근 권한설정
$ 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 란 메시지가 나옵니다. 이렇게 되면 환경설정은 이제 마무리 되었다고 보셔도 됩니다.
 
2. 안드로이드 소스 얻기
 
 아래과 같이 수행하면 안드로이드 전체 소스를 다운로드 하게 됩니다.
 
 $ repo sync

매우 오랜 시간이 걸리므로 실행 시켜 놓고 외출을 하시는 걸 추천합니다. ㅎㅎ
 
3. 안드로이드 빌드 하기
 
$ make
 
이 과정을 수행하는 동안 zlib.h error가 발생할 수 있습니다.
이 경우에는 아래와 같이 zlib1g-dev를 설치하시고 계속 make를 수행하면 됩니다.

$ sudo apt-get install zlib1g-dev
$ make
 
이 과정을 수행하는 동안 -lncurses error가 발생할 수 있습니다.
이 경우에는 아래와 같이 libncurses5-dev를 설치하시고 계속 make를 수행하면 됩니다.
 
$ sudo apt-get install libncurses5-dev
$ make

* 중간 에러를 방지하기 위해 미리 저 두 패키지를 설치 하셔도 무방합니다.
 
4. 결과 확인하기
 
  out 디렉토리에 build된 안드로이드 full package가 위치하게 됩니다.
 
  $ cd out
 
5. 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
 
        $ 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-
 
6. TEST
 
1. 먼저 mydroid 의 out directory에서 아래의 세가지 image를
   android sdk가 설치된 desktop에 download를 합니다.
 
   ~mydroid/out/target/product/generic/ramdisk.img
   ~mydroid/out/target/product/generic/system.img
   ~mydroid/out/target/product/generic/userdata.img
 
2. android sdk 1.0 이 설치된 desktop의 아래의 directory에서 ramdisk.img, system.img, userdata.img를 임시로 다른 곳으로 저장합니다.
 
   android-sdk-windows-1.0_r1/tools/lib/images
 
3. 위에서 다운로운한 세가지 img 파일을 위의 디렉토리에 위치지운 후,
   android-sdk-windows-1.0_r1/tools/emulator.exe를 실행합니다.
 
4. 만약 emualor가 정상적으로 실행되고, 내부 app. 들이 정상적으로 작동한다면,
    안드로이드 source는 정상적으로 build되었다고 볼 수 있습니다.
 

Leave a Reply