Android platform 개발 환경 구성

개요

Android 응용프로그램을 개발하기 위해서는 SDK와 NDK만으로 충분하다. 여기에 설명하는 내용은 안드로이드 platform을 장비에 포팅하거나 패키지 내용을 수정하는 등 안드로이드 platform 자체를 변형 하기 위한 것이다.

개발환경

Ubuntu 11.04 64bit

설치 될 위치

~/android/mydroid <- android platform sources
~/android/eclipse
~/android/workspace

JDK 설치

# JDK의 repository를 추가 후 설치한다.
$ sudo add-apt-repository “deb http://archive.canonical.com/ lucid partner”
$ sudo add-apt-repository “deb-src http://archive.canonical.com/ubuntu lucid partner”
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

필수 패키지 설치

$ sudo apt-get install git-core gnupg flex bison gperf
build-essential zip curl zlib1g-dev libc6-dev
lib32ncurses5-dev ia32-libsx11proto-core-dev
libx11-dev lib32readline5-dev lib32z-dev
libgl1-mesa-dev g++-multilib mingw32 tofrodos

Eclipse classic 설치

eclipse 다운로드: http://www.eclipse.org/downloads/
다운로드 받은 eclipse를 ~/android/eclipse에 압축 해제

$ tar -xvzf eclipse-SDK-3.7-linux-gtk-x86_64.tar.gz -C ~/android

repo 설치

Android open source는 git을 이용하여 버전을 관리하고 있다. 이를 쉽게 다루기 위한 repo 툴을 설치한다.

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://android.git.kernel.org/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

platform 다운로드

working directory를 생성하고 android open source를 다운로드 받는다.

$ mkdir ~/android/mydroid
$ cd ~/android/mydroid
# repo 툴을 이용하여 다운로드 받을 branche를 설정한다. 예제는 gingerbread를 다운로드 한다.
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b gingerbread
# repository에서 파일을 동기화한다.
$ repo sync

GnuPG 공개키 설정

Git에 위치한 tag를 verify 하기 위해 GnuPG key database에 공개키를 입력한다.

$ gpg –import

아래의 공개키를 복사하여 붙여 넣은 후 엔터를 누르고 ctrl + D를 입력한다.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----

Eclipse platform 빌드 환경 구성

Java build path를 잡기 위해 .classpath 파일이 필요하다. development/ide/eclipse/.classpath 파일을 사용한다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

$ cd ~/android/mydroid
$ cp development/ide/eclipse/.classpath .
$ chmod u+w .classpath

Android platform 빌드하기

eclipse에 Import 하기 전 반드시 빌드를 해야 한다. 자세한 옵션은 http://source.android.com/source/building.html를 참고하라.

$ cd ~/android/mydroid
$ . build/envsetup.sh
$ lunch full-eng

eclipse memory 사용량 증가 시키기

Android platform 크기가 커서 eclipse가 컴파일 중 out of memory가 발생할 경우가 있다. 이를 방지하기 위해 eclipse의 vm의 크기를 늘린다.

# ~/android/eclipse/eclipse.ini의 내용 중 다음 항목을 수정
–launcher.XXMaxPermSize
256M
-Xms128m
-Xmx512m

Eclipse에 할당된 Java heap의 사이즈를 최소 128MB에서 최대 512MB까지 할당하고 Maximun Permanent Generation의 크기를 512MB로 설정한다.

프로젝트 Import 하기

1. File > New -> Java Project 새로운 JAVA Project를 생성한다.(Android 프로젝트가 아니다.)
2. Project name에 Mydroid를 입력하고 Use default location을 체크 해제 한 후 Location:을 ~/android/mydroid 로 설정한다.


3. Finish를 클릭.

이로써 Android platform을 개발하기 위한 환경 구성이 완료되었다.

참조: http://source.android.com/

[출처] http://www.onurmark.co.kr/?p=325

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
33 안드로이드 개발 환경 구축(odroid u3) file 졸리운_곰 2016.09.17 2086
» Android platform 개발 환경 구성 file 졸리운_곰 2016.09.17 570
31 구글 사물인터넷(IoT) 플랫폼 브릴로 (Brillo), Weave 공개 file 졸리운_곰 2015.11.07 992
30 Yocto란? 졸리운_곰 2015.11.07 401
29 [Iot, 사물지능통신] 인텔 에디슨 (Intel Edison) 리뷰 file 졸리운_곰 2015.11.07 520
28 [Yocto] 욕토 프로젝트의 참고 링크 (학습링크) 졸리운_곰 2015.11.07 563
27 아두이노 UNO 회로도, Arduino UNO Schemetic file 졸리운_곰 2015.07.04 2222
26 Intel® Edison Boards, rcad* Schematic Design File file 졸리운_곰 2015.07.04 312
25 아두이노 부트로더 굽기 2 file 졸리운_곰 2015.07.04 670
24 리눅스/임베디드리눅스 커널 분석환경 설치 / How to make analysis enviroment on Linux / Embedded Linux file 졸리운_곰 2015.05.12 866
23 아두이노 부트로더 굽기 졸리운_곰 2015.04.30 551
22 [국가기술자격] 임베디드기사 출제기준 file 졸리운_곰 2015.03.27 403
21 라즈베리파이 강좌모음 링크 file 졸리운_곰 2014.11.11 2938
20 라즈베리파이 클러스터 구축 : Clustering on RaspberryPi.pdf file 졸리운_곰 2014.11.11 658
19 breadboard 빵판 설계 유용한 링크 [오픈소스] 졸리운_곰 2014.10.14 503
18 라즈베리 파이 커널 소스 컴파일 하는 방법 졸리운_곰 2014.09.07 617
17 VHDL10.pdf 다산 세종대학교 file 졸리운_곰 2014.07.27 1113
16 VHDL 설계 개요 (천리안 디지털동호회) file 졸리운_곰 2014.07.27 1095
15 스마트폰을 품은 하드웨어 / 스마트폰 하드웨어 연결 기술 동향 file 졸리운_곰 2014.05.18 871
14 2013년 제1회 임베디드기사 자격증 file 졸리운_곰 2014.01.26 1184
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED