Android/Platform Compile 방법 (조장환)

Retired DISLab
< Android
Swpark (토론 | 기여) 사용자의 2013년 12월 18일 (수) 12:28 버전
(비교) ← 이전 판 | 현재 판 (비교) | 다음 판 → (비교)
이동: 둘러보기, 찾기

안드로이드 플랫폼 컴파일 과정은 기본적으로 다음의 과정을 따른다. http://source.android.com/source/download.html


안드로이드 소스코드는 Repo 라는 툴을 이용하여 서버에서 다운로드 받는 형식으로 되어 있다. Repo 툴은 Git 라는 버전 컨트롤 시스템의 툴 정도의 개념으로 이해하면 된다 Repo에 대한 설명은 http://source.android.com/source/git-repo.html을 참고

소스코드 다운로드에 앞서 필요한 패키지를 설치해야한다.

Android compile package list.png


주목해야 할점은 Java 6가 아닌 JDK 5.0을 사용한다는점인데 설명에 따르면 Java6 에서는 @Override를 지원하지 않기 때문이라고 한다.

다음의 명령어로 한번에 설치가 가능

sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

추가적으로 valgrind와 libreadline을 설치해준다. (이 두 패키지는 구글에서 추가적으로 ‘아마도 필요할 것’이라고 표현한것으로 보아 필수 패키지는 아닌것으로 보여진다)

sudo apt-get install valgrind
sudo apt-get install lib32readline5-dev

주의할점은 ubuntu 리눅스의 경우 10.04부터는 JDK5.0이 apt-get 으로 설치가 되지 않는다는 점인데 이때는 다음과 같은 방법으로 설치해준다.

1. 저장소 추가

sudo add-apt-repository "deb http://kr.archive.ubuntu.com/ubuntu/ jaunty multiverse"
sudo add-apt-repository "deb http://kr.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse"

2. 저장소 목록 업데이트 후 자바 설치

sudo apt-get update
sudo apt-get install sun-java5-jdk

3. 설치된 자바 목록을 확인

sudo 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

4. 사용하려는 자바 버젼으로 변경

sudo update-java-alternatives -s java-1.5.0-sun

5. 자바 버젼을 확인

java -version 
java version "1.5.0_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02)
Java HotSpot(TM) Server VM (build 1.5.0_19-b02, mixed mode)

마지막으로 확인했을 때 위와 같은 메시지가 출력되면 정상적으로 설치된것이다.

패키지 설치가 완료되면 Repo를 설치한다. 구글에서는 PATH가 지정된 폴더에 설치하라고 되어있다. 필자는 아무 폴더에 다운받은 뒤 Root/bin 폴더로 카피하는 방법을 사용하였다.

1. Curl 을 이용해 다운로드

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

2. 퍼미션 수정

chmod a+x ./repo

3. PATH가 설정된 폴더에 카피 sudo mv ./repo /bin/. 다음으로 소스를 다운로드 받을 폴더를 생성하고 해당 폴더로 이동한다.

mkdir mydroid 
cd mydroid

다음의 명령어를 입력하면 유저의 이름과 이메일 등을 입력받는 다음과 같은 화면이 나오는데 아무런 값을 입력해도 무방하다 Ubuntu 9.04-2010-10-28-00-13-11.png

마지막으로 다음의 명령어를 입력하면 소스코드가 다운로드 된다

repo sync

소스코드의 총 용량은 6GB 정도로 다운로드에는 네트워크의 상황에 따라 다르겠지만 보통 1시간 정도가 소요된다.

간혹 다운로드 중간에 정지되어 더 이상 진행이 되지 않는 경우가 있는데 이 경우 다운로드를 중지하고 명령어를 다시 입력하면 이어서 다운로드가 진행된다


마지막으로 make 를 입력하면 빌드가 시작되고 약 2시간정도가 소요된다.

이 과정에서 java version이 1.6.0이 아니라는 메시지가 나온다

sudo apt-get install sun-java6-jdk

를 통해 설치해준 후 다시 make를 실행한다

개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기