검색결과 리스트
글
안드로이드 프레임워크 프로그래밍(2) [안드로이드 커널 다운로드 및 컴파일]
지난 포스팅에서는 안드로이드 프레임워크 환경 구축에 대해 알아보았습니다. 이번에는 안드로이드 커널을 다운로드한 후 이를 컴파일하는 과정을 진행해 보도록 합니다.
Ubuntu 12.04 환경에서 Terminal을 통해 안드로이드 커널을 구축해 보도록 하겠습니다. Terminal은 Ctrl+Alt+T 버튼의 조합으로 실행하실 수 있습니다.
커널을 다운받기에 앞서 아래의 프로그램을 설치합니다. apt-get 명령어를 통해 설치하며 아래의 내용을 그대로 터미널에 적은 후 엔터를 입력하면 되겠습니다.
$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
위 패키지를 설치하던 도중 libgl1-mesa-glx:i386을 설치하려 할 때 의존성에 의한 오류가 발생하는 경우가 있습니다. 이 경우 다음과 같은 순서대로 실행을 해 주시면 되겠습니다.
$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libglapi-mesa:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
(libgl1-mesa-glx:i386 의존성을 해결하기 위해 먼저 설치)
$ sudo apt-get install libgl1-mesa-glx:i386
이제부터 본격적으로 안드로이드 커널을 설치하는 단계에 들어가도록 하겠습니다. 우선 사용자 폴더에 bin이라는 이름의 폴더를 생성합니다.
$ mkdir ~/bin
다음으로 해당 폴더에 설치될 repo를 다른 폴더에서 쉽게 사용할 수 있도록 PATH를 추가합니다.
$ export PATH=$PATH:~/bin
이제 repo를 설치해 보도록 하겠습니다.
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
다운로드한 repo에 실행권한을 추가합니다.
$ chmod a+x ~/bin/repo
이로서 repo를 설치하였습니다. 안드로이드 커널을 설치할 폴더를 만드신 후 해당 폴더로 이동합니다.
$ mkdir ~/lollipop
$ cd ~/lollipop
커널을 다운받을 폴더로 이동하신 후 repo를 초기화 합니다. 해당 초기화 내용은 폴더 내에 저장됩니다.
$ repo init -u https://android.googlesource.com/platform/manifest -b android-5.0.2_r1
맨 뒤에 굵은 글씨가 자신이 설치하고자 하는 안드로이드의 버전입니다. 자신이 설치하고자 하는 버전을 확인하기 위해서는 다음 사이트를 참조하시면 되겠습니다.
https://android.googlesource.com/platform/manifest
위 목록에서 자신이 설치하고자 하는 버전을 선택하신 후 실행하면 repo가 알아서 해당 버전만 설치해줍니다.
$ repo sync
해당 명령어를 실행하자마자 바로 안드로이드 커널을 다운로드 하는 과정이 시작됩니다. 컴퓨터의 성능 및 인터넷 환경에 따라 빠르면 1시간내에 다운로드가 완료됩니다. 필자의 경우 약 3시간 30분 정도 소요되었습니다.
다운로드가 완료된 안드로이드 커널(Lollipop)의 용량은 약 13.7GB를 차지하고 있습니다. 마지막으로 안드로이드 커널을 컴파일해 보도록 하겠습니다.
$ make -j4
뒷부분의 -j4는 4개의 쓰레드를 수행하여 컴파일을 하겠다는 의미입니다. 쓰레드의 갯수는 자신의 컴퓨터의 코어 갯수로 설정하면 최적하게 컴파일이 수행될 수 있습니다.
※가상머신 등 메모리의 크기나 Ubuntu 설치시 linux_swap 영역의 크기가 부족할 시 make 컴파일을 진행하는 도중에 실패로 종료되는 경우가 있습니다. 이를 해결하기 위해서는 두 가지의 용량을 더 크게 하거나 make 컴파일시 -j 옵션을 쓰지 않은 단일 thread로 컴파일을 하면 이를 해결할 수 있습니다. 단, 단인 thread로 컴파일 시 컴파일 속도가 현저하게 느려질 수 있습니다.(필자의 경우 약 2일 정도 소요된 것으로 확인되었습니다.)
참고문헌 : 인사이드안드로이드, 송형주 외 3인 저, 위키북스, 2010
'안드로이드 > 프레임워크' 카테고리의 다른 글
make: *** [out/target/common/obj/PACKAGING/checkapi-last-timestamp] error 38 (0) | 2015.01.18 |
---|---|
안드로이드 프레임워크 프로그래밍(3) [NEXUS5에 소스 빌드하기] (36) | 2015.01.17 |
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so] error 1 (0) | 2015.01.07 |
안드로이드 프레임워크 프로그래밍(1) [입문 및 동작환경 구축] (0) | 2015.01.03 |
안드로이드 Native(NDK) 소스를 간단하게 보는 방법 (2) | 2014.11.17 |
설정
트랙백
댓글
글
안드로이드 프레임워크 프로그래밍(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
다음으로 JDK를 설치하는 과정이 필요합니다. Lollipop의 경우 JDK 1.7 버전을 설치하셔야 합니다.
끝으로 이클립스를 설치합니다.
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
'안드로이드 > 프레임워크' 카테고리의 다른 글
make: *** [out/target/common/obj/PACKAGING/checkapi-last-timestamp] error 38 (0) | 2015.01.18 |
---|---|
안드로이드 프레임워크 프로그래밍(3) [NEXUS5에 소스 빌드하기] (36) | 2015.01.17 |
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so] error 1 (0) | 2015.01.07 |
안드로이드 프레임워크 프로그래밍(2) [안드로이드 커널 다운로드 및 컴파일] (0) | 2015.01.04 |
안드로이드 Native(NDK) 소스를 간단하게 보는 방법 (2) | 2014.11.17 |
설정
트랙백
댓글
글
[도쿄 여행] 에비스 생맥주를 맛볼 수 있는 야끼도리집(やき鳥とりちゃま)
도쿄 에비스 하면 맥주 애호가이신 분들이라면 단번에 눈치를 채실 것입니다. 그렇습니다. 에비스는 일본 삿포로맥주사에서 제조하는 맥주 브랜드 중 하나입니다.
도쿄에는 실제로 에비스라는 이름을 달고 있는 역이 있습니다. 삿포로가 과거에 이 곳에서 에비스 맥주를 생산한 적이 있어 이 지역을 대표하는 이름이 되기도 하였습니다. 그렇다면 에비스역으로 가 보도록 하지요!
이 곳이 에비스 역입니다.
JR야마노테 선을 타시면 쉽게 에비스역에 오실 수 있습니다.
에비스역에서 하차하시면 위와 같이 에비스 스카이 워크라는 출입구를 보실 수 있습니다. 이 길을 쭈욱 가시면 에비스 가든 플레이스를 보실 수 있습니다.
에비스 스카이 워크를 주욱 걸어 나오면 바로 눈 앞에 비어스테이션이 눈에 들어옵니다.
이 곳에서 에비스 생맥주 이외에 다양한 맥주들을 즐기실 수 있습니다.
에비스 가든 플레이스의 멋진 광경을 보실 수 있습니다. 생각보다 많은 커플들이 눈에 들어오는 군요.
이번에 제가 소개할 곳은 맛있는 에비스 생맥주를 즐길 수 있는 야끼도리집을 소개 해드릴까 합니다.
가게명은 やき鳥とりちゃま(야끼도리 도리챠마)입니다!
입구에 들어오자 마자 주인분께서 웃는 얼굴로 맞이해주십니다.
들어오시면 위와 같은 메뉴들이 준비되어 있습니다.
메뉴판은 영어/일어 모두 구비되어 있습니다.
메뉴에 대해 잘 모르실 경우 주인분께서 좀 더 자세히 알려주십니다.
이야기를 해도 전혀 부담이 없으니 안심하시고 물어보시면 되겠습니다.
드디어 도쿄에서 처음으로 생맥주를 먹어보는군요!
주문하실 때 '나마비루'라고 말하시면 주인분께서 알아들으시고 이렇게 잽싸게 에비스 생맥주를 마련해 주십니다.
마침 제가 가게를 방문했던 때가 12월 23일이다 보이 내부에서도 크리스마스의 기운이 물씬 풍겨옵니다.
주인분께서 멀리서 온 저를 위해 보너스로 마련해주신 야끼도리입니다.
해외에서 느끼는 인심에 두 번 감동하는군요!
가게는 위 두분께서 운영하시는데요
1인 손님이었던 저에게도 상당히 부드럽게 대해주신 점이 상당히 인상깊었습니다.
만약 도쿄에 다시 오게 된다면 친구들과 이 가게에 다시 한 번 들려
에비스 생맥주를 먹어보는 기회를 가져보고 싶군요.
※찾아오시는 길
주소 : 東京都渋谷区恵比寿南1-23-1 ABC亜米利加橋ビル1F
전화번호 : 03-6303-0253
JR에비스역에서 하차하신 후 에비스 스카이 워크쪽 출구를 이용하신 후 나오신 다음
바로 오른쪽으로 꺾어 철로를 건너신 후 바로 오른쪽 골목으로 들어가시면 야끼도리집을 오실 수 있습니다.
'좌충우돌 여행기 > 해외여행' 카테고리의 다른 글
실리콘벨리 탐방기록(3) - 산호세 뮤니시펄 로즈 가든[2015.07.01] (0) | 2015.07.11 |
---|---|
실리콘벨리 탐방기록(2) - 링크드인(LinkedIn) 방문기[2015.07.01] (2) | 2015.07.09 |
실리콘벨리 탐방기록(1) - Google 방문기[2015.06.30] (3) | 2015.07.08 |
[도쿄 여행] 일본에서 볼 수 있는 킷캣 전문 매장 KitKat Chocolatory (0) | 2015.01.05 |
[도쿄 여행] GUEST HOUSE WASABI(게스트 하우스 와사비) (0) | 2015.01.01 |