ㅈㅅㄹ


안드로이드 소스에서 커스텀 SDK 빌드해서 쓰기 적을 당시는 ADT 버전이 0.9.5가 최신이었고, android-2.1_r2 소스에서는 ADT 0.9.6을 찾아서 부득이하게 ADT도 직접 빌드해서 썼지만 오늘 보니 0.9.6 버전을 정식 릴리즈 하고 있다. 따라서 2.1 r2 소스 트리를 사용하고자 한다면 지금 와서 굳이 ADT를 빌드할 필요가 없지만, 행여 다른 버전에서 또 0.9.7을 찾기 때문에 직접 빌드해서 써야 하는 일이 있을 수 있으므로 별도의 글로 분리해서 해당 가이드를 적고자 한다.

ADT 빌드 방법은 소스트리 내에 development/docs/howto_build_SDK.txt 에 가장 잘 설명되어 있으므로 그 문서를 참고하는 것이 우선이고 이 문서에서는 그 외에 필요한 것들에 대한 팁을 알려주는 용도라고 생각하면 되겠다. 



1. Requirements

먼저 문서에 명시된 howto 문서에 명시된 내용은 다음과 같다 :

- You can currently only build an ADT plugin for Eclipse under Linux.
- You must have a working version of Eclipse 3.4 "ganymede" RCP installed.
- You need X11 to run Eclipse at least once.
- You need a lot of patience. The trick is to do the initial setup correctly
  once, after it's a piece of cake.

어차피 ubuntu 환경에선 X11이 깔려 있고 eclipse는 패키지 매니저로 설치 할 수 있으니 상관 없다. 위에 eclipse 3.4 가니메데 버전을 필요로 한다고는 적혀 있지만 실제로 ubuntu 9.10 karmic에서 패키지 매니저를 통해 설치할 수 있는 3.5.1을 사용해도 무방하다. 

또한 ADT가 의존하는 패키지인 GEF, EMF, WTP 플러그인들도 미리 설치해 놓아야 한다. 주의할 점은 이 플러그인들을 root 계정으로 설치해서 /usr/lib/eclipse/plugins 아래에 해당 플러그인 클래스들이 설치되도록 해야만, 차후 builde_plugin.sh 스크립트를 뜯어고쳐야 하는 피곤한 일이 생기지 않는다. 이들 플러그인은 eclipse에서 지원하는 자동 설치 기능을 이용하여 설치할 수 있다. eclipse의 메뉴에서 Help > Install New Software 메뉴 선택하면 이 기능을 이용할 수 있으며 Work with 텍스트 입력창에 해당 사이트 URL을 집어 넣으면 설치할 수 있는 패키지를 선택할 수 있다. 아마 배포되는 ADT를 설치해봤다면 알 내용이라 생각한다.


각 플러그인별 Site URL은 다음과 같다:

GEF - http://download.eclipse.org/tools/gef/updates/releases/
EMF - http://download.eclipse.org/modeling/emf/updates/releases/
WTP - http://download.eclipse.org/webtools/updates/

플러그인마다 전체 패키지를 설치할 필요는 없지만 꼭 필요한 최소 세트가 뭔지는 따로 연구해보지 않아서 잘 모르겠다 -_- 대충 GEF는 3.5.2 버전의 GEF와 Draw2D만 설치하면 됐던 것 같고, EMF는 EMF SDK 2.5.0 버전의 Core Runtime과 Runtime and Tools만, WTP는  3.1.2버전의 XML Editors and Tools와 XSL Developer Tools만 설치하는 것만으로 ADT 사용 및 빌드에 문제가 없었다. 

2. Build

root 계정으로 위에서 말한 의존 패키지들을 설치했다면 그 다음은 금방이다. 일단 환경변수로 $ECLIPSE_HOME을 세팅해 주자. 패키지 매니저를 통해 받은 게 아니라 일반 tarball로 받아서 설치했다면 그냥 압축을 푼 eclipse 폴더를 지정해 주면 된다:

$ export ECLIPSE_HOME=/where/you/extracted/eclipse/tarball

만약 나처럼 ubuntu에서 소프트웨어 패키지 매니저에서 설치하는 eclipse를 사용한다면 

$ export ECLIPSE_HOME=/usr/lib/eclipse

로 설정해 주면 된다. 이제 안드로이드 소스를 다운 받은 폴더로 가서 

$ sdk/eclipse/scripts/build_server.sh [dest directory] [version]

를 실행하면 알아서 빌드되어 지정한 폴더에 새로 빌드한 ADT가 zip으로 묶여서 저장된다. 저장할 폴더는 반드시 절대 경로로 주어야 한다. 원래 문서에는 development/tools/eclipse/scripts/build_server.sh에 스크립트가 있다고 적혀 있던데 내가 사용한 android-2.1_r2에는 여기에 스크립트가 있더라.

3. build_plugins.sh

사실 처름 ADT를 설치하는 사람이라면 이 방법을 권하고 싶진 않지만 이미 설치를 했던 사람이라면 당연히 의존 패키지들을 미리 깔아놨을 것이므로 스크립트 수정해서 빌드하는 편이 편할 수도 있다. 개인 사용자로 eclipse 플러그인을 설치하게 되면 $HOME/.eclipse 아래에 설치가 되는데, ADT 빌드 시점에 참조해야하는 패키지의 폴더가 둘로 나뉘어 버려서 문제가 된다.

<<이에 관한 내용은 추가로 차후에 작성할 예정 >>