안드로이드 프레임워크 프로그래밍(1) [입문 및 동작환경 구축]

 안드로이드 프로그래밍에 처음 입문하는 경우 거의 대부분의 분들이라면 안드로이드 SDK를 활용하여 애플리케이션을 제작하는 분들이 많으실 것이라 생각합니다. 물론 애플리케이션을 제작하는 것 만으로도 상당히 흥미있는 작업이라고 생각합니다. 물론 임베디드 시스템에 관심있으신 분들이라면 이보다 더 깊이 공부하고 싶어 하시는 분들도 계시리라 생각합니다.

 이번 포스팅은 안드로이드의 애플리케이션 제작에서 만족하지 않고 한 걸음 더 들어가 프레임워크를 다루는 것에 대해 이야기해 볼까 합니다.




 위 그림은 안드로이드 운영체제의 내부 구조입니다. 가장 아래 부분에는 잘 알려져 있는 대로 리눅스 커널로 구성되어 있으며 상단쪽이 바로 흔히 SDK와 Java를 활용한 애플리케이션이 동작하는 부분입니다. 안드로이드의 프레임워크는 애플리케이션 바로 아래쪽에 위치하여 애플리케이션이 요구하는 기능들을 제공해 주는 역할을 한다고 보실 수 있습니다. 이번에 우리들이 다루고자 하는 목표가 바로 위의 붉은 네모로 표시한 프레임워크를 다루는 데에 초점을 맟출 것입니다.


※준비 사항

- 리눅스가 설치된 컴퓨터(Ubuntu 12.04 버전 추천)

→ Gingerbread 이후 버전부터 64bit 환경의 리눅스를 사용해야 합니다. Froyo 이전의 버전은 32bit 사용이 가능합니다.

- Java Developer Kit

→ 안드로이드 애플리케이션을 제작할 때 쓰는 그 JDK입니다. Froyo 이전의 버전은 JDK 6, Gingerbread 이후 버전은 JDK 7 버전을 사용해야 합니다.

- 안드로이드 어플리케이션 개발 IDE(Eclipse)


※시작하기에 앞서

-본 포스팅은 작성 당시 안드로이드 최신 버전인 Lollipop(5.02)를 기준으로 설명합니다. Lollipop의 경우 64bit의 환경에서 진행해야 수월하게 진행하실 수 있습니다.


-자신의 컴퓨터가 Windows 환경이신 분의 경우 리눅스 운영체제를 동작시킬 수 있는 가상머신을 사용해야 합니다. 흔히 사용되는 가상머신으로 VirtualBox와 VMware가 있습니다. 가상머신을 사용하는 방법에 대해서는 아래의 포스팅을 참고해 주시기 바랍니다.


 가상머신으로 프레임워크를 구축하기 위해서는 하드웨어의 여유 공간이 최소 50GB(우분투 설치 공간 포함 약 60GB)정도는 확보하셔야 합니다. 최초 설치시 용량을 확보해 두지 못하면 나중에 다시 용량을 날려야 할 때 굉장히 고생하게 됩니다. 만일을 대비해서 최대 100GB정도 확보하시면 문제 없이 사용하실 수 있습니다.


Ubuntu 12.04(32bit)

http://ftp.daum.net/ubuntu-releases/precise/ubuntu-12.04.5-desktop-i386.iso


Ubuntu 12.04(64bit)

http://ftp.daum.net/ubuntu-releases/precise/ubuntu-12.04.5-desktop-amd64.iso


Virtualbox

https://www.virtualbox.org/wiki/Downloads


VMware

https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/6_0|PLAYER-604|product_downloads


VirtualBox에 Ubuntu 설치하기

VMware에 Ubuntu 설치하기



다음으로 JDK를 설치하는 과정이 필요합니다. Lollipop의 경우 JDK 1.7 버전을 설치하셔야 합니다.

Ubuntu에 JDK 설치하기


끝으로 이클립스를 설치합니다.


http://www.eclipse.org/downloads/?


자신의 Ubuntu의 버전에 맞는 프로그램을 다운로드 받습니다.




다운로드 받은 파일 내에는 이클립스 폴더가 있습니다. 입축을 해제하시면 바로 사용하실 수 있습니다.

다음으로 우분투에 리눅스용 SDK 패키지를 설치한다.


http://developer.android.com/sdk/index.html


 다운로드 사이트에 접속하신 후 계속 아래로 스크롤 하시면 SDK Tools Only 메뉴를 보실 수 있습니다. 이 곳에서 Linux 전용을 클릭하도록 합니다.



 압축파일을 확인하시면 다음과 같은 내용을 보실 수 있습니다. 해당 폴더를 적절한 곳에 압축을 해제하시면 되겠습니다.


 다음으로 설치한 Eclipse에 안드로이드 플러그인을 설치하도록 하겠습니다.



메뉴에서 Help ->Eclipse Marketplace...를 선택합니다.




 검색창에 'android development tools'를 검색하면 Google에서 제공하는 ADT for Eclipse 메뉴를 보실 수 있습니다. 오른쪽의 Install을 클릭하여 설치합니다.




위와 같이 나왔을 때 라이센스에 동의한다고 한 후 Finish 버튼을 눌러줍니다.



 다음과 같은 창이 나타나면 설치가 정상적으로 완료된 것입니다. Yes 버튼을 누르면 Eclipse가 다시 시작됩니다.



 이클립스를 다시 실행하면 위에서 보는 바와 같은 경고문이 등장합니다. 앞에서 설치하였던 SDK가 아직 이클립스와 연동이 되지 않은 상황에서 다음과 같이 발생합니다. Open Preferences를 클릭하여 SDK 폴더의 위치를 설정합니다.



 Browse...에서 위에서 압축을 풀었던 SDK 도구의 폴더를 선택하신 후 OK를 눌러주세요. 만약 경고문이 뜰 경우 아래쪽 이미 존재하는 SDK 사용 메뉴를 선택하시면 되겠습니다.




 이클립스 메뉴에서 Window -> Android SDK Manager 를 클릭하면



 우리들이 Windows에서 흔히 사용했던 Android SDK Manager를 보실 수 있습니다. 여기서 자신이 사용하고자 하는 안드로이드의 버전을 설치하면 이로서 프레임워크 구축 환경을 다루기 위한 구성요소의 준비가 끝납니다.


다음 포스팅에서는 안드로이드 커널을 다운로드 하는 방법과 이를 컴파일 하는 방법에 대해 다루어 보도록 하겠습니다.




참고문헌 : 인사이드안드로이드, 송형주 외 3인 저, 위키북스, 2010