본문 바로가기

Out-of date

#02. 안드로이드 SDK 전격해부! (SDK 1.5용 업데이트)

 
지난 글에서는 안드로이드의 배경 및 개발을 위한 준비 과정들을 다뤄봤습니다.
이번 글에서는, 안드로이드 SDK에 대한 내용들을 중점적으로 다뤄보도록 하겠습니다.

안드로이드 SDK는 크게 다음과 같은 세 가지로 분류할 수 있습니다.


  • Docs : 안드로이드 SDK에 관한 설명을 포함하는 문서
  • Samples : 예제 프로그램
  • Tools : 안드로이드용 프로그램을 개발하는데 필요한 툴 (컴파일러, 에뮬레이터 등..)

(1) Docs

Android Documentation을 뜻하며, 이는 안드로이드 SDK의 각종 패키지, 클래스에 대한 설명들을 포함하고 있습니다. 자바를 공부하신 분이라면 이미 Java SDK Documentation을 알고 계실 터이고, 아마 별 무리 없이 보실 수 있을 겁니다. 이 내용은 인터넷에도 올라와 있으니, 궁금할 때마다 찾아볼 수도 있습니다.


(2) Samples

제목 그대로, 예제 프로그램 코드가 포함되어있습니다. 이 코드는 바로 이클립스 프로젝트에 추가하여 실행해 볼 수 있게끔 되어있습니다. 처음 배우는 입장에선 이러한 것이 있으면 적절히 눈팅(?) 하기가 쉬워지죠. 자신만의 코드를 자신의 힘으로 직접 작성하는 것도 좋지만, 이러한 예제 코드들을 연구하면서 얻는 것도 상당합니다.



(3) Tools

안드로이드 응용 프로그램 개발에 필요한 각종 도구들이 포함됩니다. (컴파일러, 에뮬레이터 등..)
보통, 이클립스상에서 개발을 할 것이므로, 이 툴들을 직접 다룰 기회는 그다지 많지는 않을 것으로 보입니다. 하지만, 기본적으로 어떤 툴이 어떠한 역할을 하는 지 정도는 알아야겠죠?

emulator.exe

자신이 작성한 안드로이드용 응용 프로그램이 실제 휴대단말에서 동작하는 모습을 PC로 확인할 수 있게 해줍니다. 안드로이드용 프로그램을 개발하는데 필수적인 프로그램이지요. Command-line prompt에서 옵션을 붙여주면서 실행할 수도 있지만, 보통은 이클립스에서 띄워주게 되지요. 에뮬레이터가 구동되는 속도는 생각보다 많이 느립니다. 그 이유가 안드로이드 에뮬레이터를 띄우는 것이 리눅스를 하나 더 띄워주는, 즉 운영체제를 하나 더 띄워주는 것과 같아서 오래 걸리는 것이라고 알고 있는데.. (기억이 가물가물하네요..) 아무튼, 개발하시는 도중에는 한 번 에뮬레이터를 띄웠으면 가능한 끄지 말고 계속 작업하시기를 권장합니다. (에뮬레이터를 껐다 키지 않아도 변경사항은 다 적용됩니다)

adb.exe

Android Debug Bridge로, 에뮬레이터에 명령을 내리는 역할을 합니다. Application의 설치/제거와 에뮬레이터로 파일을 넣고 빼는 등의 작업을 할 수 있습니다.
2009/05/24 - [안드로이드 이야기/안드로이드 입문] - 어플리케이션을 에뮬레이터에 설치해보자!


MKSDCARD.exe

하드디스크의 일부분을 안드로이드 에뮬레이터에서 가상의 SD카드로 인식하게 해줍니다.
2009/04/07 - [안드로이드 이야기/이거, 알고있니?] - 안드로이드 에뮬레이터에 가상의 SD카드 마운트시키기


DX.exe

Android용 응용 프로그램으로 만들어주는 컴파일러이며, 컴파일이 완료되면 *.dex의 확장자를 가진 파일이 생성됩니다. 안드로이드가 Java VM이 아닌 Dalvik VM을 사용하기에, 이런 형식을 사용합니다.


*추가 : 안드로이드 플랫폼

안드로이드 1.5부터는 한 버전의 플랫폼만을 지원하지 않고, 여러 버전을 동시에 지원합니다.
이는 AVD(Android Virtual Device)가 있기에 가능하죠. 사실, 1.1r2 이전 버전과 1.5버전과의 가장 큰 차이점이 바로 AVD지 않을까 싶네요.



 플랫폼 API 레벨  설명 
 Android 1.5  3  표준 안드로이드 1.5 라이브러리와 개발용 어플리케이션이 포함된 시스템 이미지를 포함합니다. 어떠한 외부 라이브러리(지도 라이브러리 등..)도 포함하지 않습니다.
 Android 1.1  2  표준 안드로이드 1.1 라이브러리와 개발용 어플리케이션이 포함된 시스템 이미지를 포함합니다. 지도 라이브러리를 포함합니다.