2009년 12월 6일 일요일

안드로이드 시작하기

임베디드 개발 플래폼의 대세가 안드로이드가 될 것임을 너무 늦게 - 모두가 다 알아챈 후에 - 깨닫게 되었다. 늦었지만 지금이라도 시작하지 않으면 곤란해질 것임을 느끼면서, 일단 안드로이드 이미지 빌드부터 시도해 보기로 한다.

1. 리눅스 설치

안드로이드 커널 컴파일을 위해서 노트북에 우분투를 설치하여 시도하기로 한다. 마침 ubuntu 9.10 iso 파일이 있으므로, VirtualBox에 우분투 9.10을 아래와 같이 설치한다. 안드로이드 커널 컴파일에 시간이 오래 걸리고 꽤 많은 용량이 필요하다고 하므로, 메모리와 하드 디스크를 넉넉하게 할당하였다.

호스트 컴퓨터는 Windows7-64bit-Pro 이다.
- Memory : 2G
- HardDisk : 25G

2. 커널 컴파일 따라하기

일단 아는게 없으므로, 인터넷을 찾아본다. 일단은 아래 국내 사이트에서 정보를 조금 얻을 수 있었다.
http://www.kandroid.org/
http://forum.falinux.com/zbxe/
http://www.androidpub.com/


하지만, 빌드는 공식 사이트를 참고한다.
http://source.android.com/download

영어라 편하지는 않지만, 구글이 제공하는 동영상과 슬라이드 자료에서 가장 정확하고 많은 정보를 얻을 수 있었다.
http://source.android.com/documentation

특히 Anatomy & Physiology of an Android 동영상 및 강연 자료가 나의 궁금증을 가장 속 시원히 풀어주었다.

만일 플래폼 빌드보다 안드로이드 어플리케이션에 더 관심이 많다면 아래 사이트를 참조하자.
http://developer.android.com/

아래는 이미지 빌드를 시도하면서 얻은 몇가지 정보 사항이다.
- JDK 5.0 update 12 or higher가 필요하다. 하지만 JDK 6.0은 지원하지 않는다.
- 15G HDD, 512MByte에서도 빌드에 성공하였다.
- .bashrc에 아래와 같이 path를 지정(Repo를 설치한 디렉토리에 대한 path임)
export PATH="~/bin:$PATH"

가장 큰 문제는 apt-get install시 sun-java5-jdk 패키지를 찾지 못하는 것었다.
JDK 5.0을 수동으로 설치할 수도 있겠지만, 아래 사이트에서 쉬운 해결책을 찾을 수 있었다.
http://www.androidpub.com/android_porting_info/38814

간단히 설명하면,
1. /etc/apt/sources.list에 아래 두줄을 추가.
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
2. sudo apt-get update 실행
3. sudo apt-get sun-java5-jdk 실행

그 외에는 큰 문제 없이 빌드가 성공!!!

일단 첫 발에 의미를...

참고:
만약 java 1.6와 java1.5를 모두 설치하였다면 아래 명령으로 java 1.5를 사용하도록 지정할 수 있다.

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