이클립스 Building workspace에서 시간이 걸리는 문제


이클립스를 이용해서 안드로이드 개발을 하다보면 Building workspace 라는 메시지가 뜨면서 99% 즈음까지만 뜨고 계속 렉이 걸리는 현상이 일어나는 경우가 있습니다.

제 경우에는 개발중에 있는 Java 라이브러리의 규모가 엄청커서 ( 파일이 수십개, 패키지도 20개 가량.. ) workspace를 구성하다가 자주 다운되었습니다. 힙 사이즈가 너무 작다는 메시지와 함께 다운이 되었는데, 이럴때에는 이클립스의 메모리 설정을 바꿔주면 됩니다.


이클립스가 설치되어있는 디렉토리를 보시면 "eclipse.ini"라는 파일이 있습니다. 이 파일을 열어보면 다음과 같은 설정이 있습니다.

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx1024m


Xms 는 최소 메모리 사이즈, Xmx 는 최대 메모리 사이즈입니다. 제 경우엔 512m으로 되어 있던 것을 1024m으로 두배 늘려줬더니 다운되는 현상이 없어지고 제대로 빌드가 되었습니다.

정확한 원인은 모르겠지만 이렇게 설정을 바꿔줬더니 해결되었습니다.

ps. 개발하는 PC의 메모리가 적다면 문제가 될 수도 있겠네요. javaw.exe의 메모리 사용량이 거의 1G 가까이 올라가더군요.;;; 일단은 이렇게 해결을 했지만 다른 방법이 있는지 찾아봐야 할 일입니다.



안드로이드 개발 환경 구축 - 프로젝트 만들기, Hello, World 프로그래밍


프로그래밍 언어를 배워 보신 분들은 아시겠지만 어떤 언어를 새로 배울때 처음으로 작성하는 프로그램이 바로 "Hello, World!" 라는 문자를 화면에 찍어보는 프로그램입니다. 기본적인 출력 명령어를 익힐 수 있다는 점에서 간단하지만 프로그래밍의 기초를 배울 수 있는 프로그램입니다.


안드로이드에서 프로그래밍을 해보시려면, 우선 JDK와 이클립스, 안드로이드 SDK 그리고 ADT를 설치하셔야 합니다. 관련 포스트는 다음을 참조하시기 바랍니다.



▶ 안드로이드 개발 - 프로젝트 만들기

일단 이클립스에서 프로젝트라는 것을 만들어야 합니다. 여러분이 만들고 싶은 어플리케이션의 이름을 프로젝트로 하시면 됩니다. 하나의 프로젝트에는 여러개의 파일이 있을 수도 있습니다.



[File] 메뉴에서 [New] -> [Project] 를 들어갑니다.




[Android] 메뉴에서 [Android Project] 메뉴를 선택한 다음 Next > 를 클릭해서 다음으로 넘어갑니다.




프로젝트 화면이 위와 같이 뜹니다.
빨간색으로 박스를 쳐 놓은 부분을 잘 설정합니다.
각각에 대해서 설명을 하자면

Project Name : 이클립스의 프로젝트 명으로 프로젝트에 관련된 파일이 들어갈 디렉토리 이름
Build Target : 어떤 버젼으로 만들것인가를 봄, 갤럭시 탭과 갤럭시 S는 안드로이드 2.2 를 지원하는것 같습니다.
Application Name : 스마트폰에 어떤 이름으로 나타날 것인가를 결정하는 부분입니다.
Package Name : package namespace를 지정하는 부분, 당장은 잘 몰라도 되는 부분입니다.
Create Activity : Activity는 자바 클래스를 일컫는 말로, 이것을 선택하면 기본적인 클래스가 자동으로 생성됩니다.
Min SDK Version : Android API 레벨을 나타내는 것으로 갤럭시 S급에 테스트 할 예정이므로, Android 2.2 인 API Level 8을 선택해 줍니다.

다 선택했으면 Finish를 눌러서 진행합니다.




프로젝트가 생성되었습니다.
프로젝트 이름 - src - 소스이름.java 를 더블클릭 해보시면, 자동으로 생성된 기본 소스가 있습니다.

추가로 다른 폴더와 파일들을 설명해드리자면,

Hello.java : 실제 프로그램이 되어 지는 소스 부분입니다.
gen : 빌드시에 생성되는 파일들이 저장되어 있는 곳입니다. 사용자가 수정하면 안됩니다.
Android 2.2 : 현재 개발하고 있는 플랫폼의 라이브러리들이 들어 있습니다. 지금 저는 안드로이드 2.2 에서 작업을 하고 있네요
assets : 오디오, 비디오 등 멀티미디어 자료들이 저장되는 부분입니다.
res : 리소스의 약자로 이미지, 레이아웃, 문자열 등이 저장되는 부분입니다.
   - drawable : 이미지 파일들이 저장됩니다.
   - layout : 개체들의 레이아웃을 정의하는 부분입니다.
   - values : 프로젝트에서 사용될 문자열을 정의합니다.
AndroidManifest.xml : 프로젝트의 버전이나 이름 등에 대한 정보를 가지고 있습니다.
default.properties : 프로젝트의 빌드 타겟이 명시되어 있습니다. ( 플랫폼의 버전 등.. )




상단의 재생 모양의 버튼을 누르시거나 [Ctrl] + F11 을 눌러서 실행을 시켜봅니다.
Android Application을 선택하고 확인을 누릅니다.




에뮬레이터에 이런식으로 화면이 뜨게 됩니다. 그리고 Hello World, Hello! 라는게 떠 있는 것을 볼 수 있습니다. 이번 시간엔 가장 기본적인 실행 방법을 배워봤습니다. 다음 시간엔 더 재미있는 것들을 배워 보도록 하겠습니다.

스마트폰 앱 개발, 재미있군요 ㅎ



안드로이드 개발 환경 구축하기 - ADT와 안드로이드 SDK 설치하기


이전 포스트에서 기본적인 자바 개발 환경인 JDK와 Eclipse 를 설치하였습니다. 만약 아직 설치가 안 되어 있으신 분은 이전 포스트를 참고하셔서 설치를 마치시기 바랍니다.





자바 개발환경인 이클립스를 설치하셨으면 자바 프로그래밍이 가능한데요. 그래도 이클립스에 적용이 가능한 플러그인을 사용하면 더 쉽게, 안드로이드에 최적화 되어 있는 개발환경을 구축 할 수 있습니다. 플러그인 이름은 구글에서 제공하는 ADT( Android Development Tool )입니다.

ADT는 이클립스와 안드로이드 SDK를 연결해서 이클립스에서 안드로이드 소프트웨어를 개발 할 수 있게 연결해 주는 역할을 합니다.


▶ 안드로이드 개발 환경 구축하기 - 안드로이드 SDK 설치하기

일단 먼저 안드로이드 SDK를 설치합니다.


다운로드 링크로 들어갑니다.


여러분이 사용하고 있는 플랫폼을 선택합니다. 저는 윈도우즈를 사용하고 있기 때문에 윈도우즈용 SDK를 다운받아 설치하겠습니다. 두번째에 있는 다운로드 파일을 다운받겠습니다. ( 추천한다고 쓰여 있으니 그걸 다운 받는게 ㅎㅎ )




Next > 를 눌러서 진행합니다.




JDK를 설치하지 않으셨으면 여기서 다음으로 넘어 갈 수 없습니다. 위와 같은 화면이 안나온다면, JDK를 설치하시기 바랍니다. ( 제 경우엔 처음엔 안된다고 떴었는데, 뒤로 갔다가 다시 오니까 찾아져 있었습니다. ;; 안 되시면 뒤로 갔다가 다시 Next 를 눌러보세요. )




안드로이드 SDK를 설치할 경로를 지정해 줍니다.
Next > 를 눌러서 진행합니다.




Install 을 눌러서 설치를 실행합니다.




설치가 진행됩니다.




안드로이드 SDK 매니저를 실행합니다. ( 체크박스가 선택 된 상태에서 Finish 버튼을 눌러주세요 )




검은색 창이 좀 오래 떠있다가 다음으로 넘어 갑니다. ( 강제 종료하지 마세요. )




Accept All 을 선택하고 Install을 눌러서 설치를 진행합니다.




설치가 진행되는 동안 상세한 내용들을 볼 수 있습니다.
여기서 시간이 엄청 걸리니 웹 서핑을 하고 옵니다. ㅋ



한참 지나고 나면 위와 같은 메시지가 뜹니다. Yes 를 눌러서 진행합니다.




Close를 누르면 설치가 완료 된 것입니다.





▶ 안드로이드 개발 환경 구축하기 - 이클립스 실행하기

이제 안드로이드 SDK와 이클립스를 연결시켜줄 ADT를 설치해 보겠습니다.
먼저 이클립스를 실행합니다. eclipse.exe 를 실행시킵니다.



이번에 설치한게 헬리오스 버전이군요. 이것 이외에도 갈릴레오버전도 있고, 유로파 버전도 있고 많이 있습니다.




여러분이 작업할 작업 공간을 설정해 줍니다. 여러분이 이클립스를 통해서 개발한 안드로이드 개발 파일들이 저장될 경로입니다.




실항하면 이런 안내 페이지가 뜨게 됩니다. 우측 상단의 Workbench 를 클릭합니다.


▶ 안드로이드 개발 환경 구축하기 - ADT 설치하기

이제 이클립스에 안드로이드 개발 툴 플러그인인 ADT를 설치해야 합니다.




[Help] 메뉴에서 [Install New Software...] 를 선택합니다.




상단의 "Add" 버튼을 눌러서 추가를 합니다.
Name에 android ADT
Location에 https://dl-ssl.google.com/android/eclipse/
를 써 넣고 OK 버튼을 눌러서 진행합니다.

이때, 업데이트까지 하고, 많은 작업이 이뤄져서 시간이 좀 오래 걸립니다. ( 몇 분 정도 걸리더라구요. )




적용이 다 되면 Developer Tools 라는 새로운 항목이 나오게 됩니다. 옆에 있는 체크박스를 다 선택해 준 다음, "Next" 버튼을 눌러서 진행합니다.



Next 를 누르시면 필요한 것들이 전부 설치되어 있는지 테스트를 하게 됩니다.




Next 를 눌러서 진행합니다.




약관에 동의한다는 뜻으로 Yes를 선택한 뒤 Finish 를 눌러서 진행합니다.




설치가 진행되는 모습입니다. Details 를 누르면 현재 뭐가 설치되고 있는지 볼 수 있습니다.




사인 되지 않은 컨텐츠를 설치하려한다는 경고문이 뜹니다. OK를 눌러서 진행합니다.



재시작 할 꺼냐고 묻거든 Restart Now를 눌러서 재시작 합니다.



이클립스를 재시작 하면, [Window] 메뉴에 "Andorid SDK and AVD Manager" 라는 메뉴가 새로 생긴 것을 볼 수 있습니다. 이를 실행하면,



preferences 에서 아직 설정이 안된 경로라고 나옵니다. OK 눌러 경고 창을 닫습니다.




[Window] -> [Preferences] 를 선택합니다.




왼쪽 탭에서 [Android] 라는 메뉴를 선택한 다음 SDK Location에서 Browse 를 선택해서 아까 안드로이드 SDK 를 설치한 경로를 지정해 줍니다.

확인을 누르고 OK 를 누르면 적용이 됩니다.



다시 아까 열리지 않았던 [Window] -> Android SDK and AVD Manager 를 선택하면 위와 같은 화면이 뜹니다.
첫번째인 Virtual devices를 선택한 후, New 버튼을 눌러서 새로운 가상 머신을 만들겠습니다.




빨간색 네모 안에 적당한 이름과 버전을 선택한 후 Creata AVD 를 클릭하여 새로운 가상 머신을 만들어 줍니다.




이제 가상 머신 목록에 방금 만든 가상 머신이 있습니다. 그 가상머신을 선택한 뒤, 오른쪽의 Start 버튼을 눌러 봅니다.




Launch 버튼을 눌러서 그대로 진행합니다.




이제 위와 같이 검은색 화면이 오랫동안 나타나게 됩니다. 중간에 응답 없음으로 떠도 강제 종료 하지 마시기 바랍니다. 컴퓨터의 성능에 따라서 10분 내외로 걸릴 수도 있습니다.



한참을 기다려 보니 위와 같은 화면이 떳습니다. 뭔진 모르겠지만 저렇게 뜨네요. ㅎ
아무튼 여기까지 왔으면 기본적인 안드로이드 개발환경 구축은 끝난 셈입니다.
다음시간엔 기본적인 프로그래밍을 해보도록 하겠습니다.




안드로이드 개발 환경 구축하기 - 자바 개발환경 구축 ( JDK & Eclipse 설치하기 )


최근 스마트폰과 태블릿 같은 스마트 기기의 폭발적인 보급으로 스마트 기기에서 돌아가는 어플리케이션의 수요가 늘어나고 있습니다. 반짝이는 아이디어 하나만으로 엄청난 부를 창출 할 수 있는 떠오르고 있는 시장인데요. 특히 안드로이드의 경우엔 자바를 기반으로 하고 있기 때문에 비교적 쉽게 프로그래밍을 할 수 있습니다.



여러분의 컴퓨터에 안드로이드 프로그래밍을 할 수 있는 환경을 구축 할 수 있도록 가이드를 해드리겠습니다. 자바라는 프로그래밍 언어를 알아야 하지만 그렇게 어려운 언어는 아니니 여러분도 여러분만의 어플리케이션을 개발해 보세요 ^^


▶ 안드로이드 개발시스템 요구사항

안드로이드 어플리케이션을 개발하기 위해서 요구되는 소프트웨어의 버전들을 소개해주고 있는 페이지가 있습니다. 설치하기전에 여러분의 컴퓨터가 해당 요구사항들을 만족하는지 살펴 봅니다.

안드로이드 개발 시스템 요구사항

System Requirements - Android developer


우리말로 번역을 해드리자면,

운영체제

  • Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit)
  • Mac OS X 10.5.8 or later (x86 only)
  • Linux (tested on Ubuntu Linux, Lucid Lynx)
    • GNU C Library (glibc) 2.7 or later is required.
    • On Ubuntu Linux, version 8.04 or later is required.
    • 64-bit distributions must be capable of running 32-bit applications. For information about how to add support for 32-bit applications, see the Ubuntu Linux installation notes.

운영체제는 윈도우즈 XP, Vista, 7 중에 하나라면 안드로이드 프로그래밍이 가능하십니다. 혹시 윈도우 98이나 ME를 아직도 사용하고 계신다면, 존경스럽습니다.

Supported Development Environments

Eclipse IDE

  • Eclipse 3.4 ( 가니메데 버전 혹은 그 이상 )
  • Eclipse JDT plugin ( Eclipse IDE Packages 포함 )
  • 만일 이클립스를 업데이트하거나 설치해야할 필요가 있을 경우, http://www.eclipse.org/downloads/ 에서 다운로드 받으실 수 있습니다.
     몇몇의 이클립스 패키지 타입들이 각 플랫폼에서 사용하실 수 있습니다. 안드로이드 어플리케이션을 개발하기 위해서 다음 패키지 중에 하나를 설치하는 것을 권장합니다.
    • Eclipse IDE for Java Developers
    • Eclipse Classic (versions 3.5.1 이상)
    • Eclipse IDE for Java EE Developers
  • JDK 5 or JDK 6 (JRE alone is not sufficient)
  • Android Development Tools plugin (recommended)
  • Not compatible with Gnu Compiler for Java (gcj)

그 밖에 개발 환경 및 IDE

  • JDK 5 or JDK 6 (JRE alone is not sufficient)
  • Apache Ant 1.8 or later
  • Not compatible with Gnu Compiler for Java (gcj)

뭐 이런것들이 있습니다. 참고 정도로만 알아두시고 차근 차근 따라오시면 안드로이드 어플리케이션 개발 환경을 구축 할 수 있습니다.




▶ 안드로이드 개발환경 설치 - 자바 개발환경 설치 ( JDK 설치 )

그럼 여러분의 컴퓨터에 자바 개발 환경을 설치해 보도록 하겠습니다. 참고로 이전에도 포스팅 한 적이 있지만 간략하게 다시 설명을 해드리겠습니다. 자세한 설명은 첫 번째 링크를 따라가시면 됩니다.

자바를 설치하기 위해 다음 링크를 따라가서 자바 개발환경 설치 파일을 다운로드 받아 실행합니다.

http://www.oracle.com/technetwork/java/javase/downloads/index.html





링크를 따라가면 위와 같은 홈페이지 화면이 나오는데, 가장 왼쪽에 있는 커피잔 모양의 버튼을 클릭합니다.





여러분이 지금 어떤 운영체제를 사용하고 있는지를 선택합니다. 저는 윈도우즈 7을 사용하고 있기 때문에 윈도우를 선택했습니다. 고르셨으면 약관에 동의하는지 묻는 체크박스를 클릭하고 "Continue"를 누릅니다. ( 약관은 한번 읽어 보세요. )




파일을 다운로드 할 수 있는 링크가 나옵니다. 클릭해서 다운로드 받고 실행을 시킵니다.





다음을 누르면서 설치를 진행합니다. ( 저도 이참에 새로운 버전으로 업데이트를 하게 되었네요. ㅎ )



▶ 안드로이드 개발 환경 설정 - 자바 환경 변수 설정

이제 자바 환경 변수를 설정해보도록 하겠습니다. 자바 프로그래밍을 할 때, 기본적인 명령어가 어디에 저장되어 있는 지를 알려주는 시스템 변수입니다. 즉, 자바 개발을 할 때, 사용하는 명령어가 저장되어 있는 디렉토리를 지정해주게 되는데요. 어렵지 않습니다.

윈도우 7의 경우 [제어판] -> [시스템 및 보안] -> [시스템]으로 들어가시면 다음과 같은 창이 뜹니다.



왼쪽에 있는 "고급 시스템 설정"을 선택합니다.



환경변수라는 버튼이 있습니다.
클릭해 봅니다.



시스템 변수 부분의 새로만들기를 클릭합니다. ( 아랫쪽의 버튼을 클릭합니다. )





변수 이름을 JAVA_HOME으로 하고, 변수 값을 아까전에 자바를 설치한 폴더를 입력해 줍니다. 다음을 연타하셨다면 위와 같은 경로가 될 것입니다. ( 1.6.0_24 라는 숫자는 자바 버전으로 해당 폴더에 가시면 어느 버전이 최신 버전인지 알 수 있습니다. )




시스템 변수 중에 Path라는 변수를 클릭한 다음 편집 버튼을 누릅니다. 그러면 이미 Path 로 등록이 되어 있는 것들을 볼 수 있습니다. 변수 값에 쓰여져 있는 것들을 건들지 말고, 맨 뒤에 ";$JAVA_HOME%\bin;"을 붙여 넣어줍니다. ( 이 때, 세미 콜론( ; )은 여러개의 값들을 구분해 주는 구분자입니다. )


설치가 잘 되었는지 확인을 해 보도록 하겠습니다.



[윈도우키] + R 을 눌러서 실행 창을 띄웁니다.
"CMD" 라는 명령어를 눌러서 커멘드창을 띄웁니다.




"Java -version" 이라는 명령어를 입력한 다음 엔터를 누릅니다. 그러면 여러분의 컴퓨터에 설치되어 있는 자바 실행환경의 버전정보를 알 수 있습니다. < 만약 정보가 안뜬다면 설치가 잘못 된 것일 수 있습니다. >




"javac" 라는 명령어를 입력한 다음 엔터를 누르면 위와 같은 화면이 뜨게 됩니다. 만일 자바 개발환경이 제대로 설치되지 않았다면, 찾을 수 없는 명령어 같은 안내가 나올 겁니다.



▶ 안드로이드 개발 환경 설정하기 - 이클립스 설치하기

그럼 이제 개발을 쉽게 할 수 있도록 도와주는 개발 툴인 이클립스를 설치해 보도록 하겠습니다. 이클립스는 별도의 설치가 필요하지 않고 그냥 홈페이지에서 다운로드 받아서 압축을 풀고 사용하기만 하면 됩니다.

이클립스 홈페이지로 갑니다.



홈페이지 우측에 Download Eclipse 라는 버튼이 있습니다. 클릭해서 다운로드 받을 수 있는 페이지로 갑니다.



여러개의 다운로드 받을 수 있는 패키지가 있습니다. 2번째 것인 Eclipse IDE for Java EE Developers 를 다운 받겠습니다. 우측에 다운로드 받을 수 있는 링크가 있습니다. ( 붉은색 네모 )

Windows 32 Bit 를 클릭해서 진행합니다. ( 여러분의 컴퓨터가 64 비트 컴퓨터라면 64 비트 를 클릭하시기 바랍니다. )



다운로드 버튼을 눌러서 이클립스 파일을 다운로드 받습니다.




다운로드 받은 압축 파일의 압축을 풉니다.




압축을 해제한 폴더를 들어가시면 위와 같이 되어 있을 겁니다. 그 중에서 eclipse.exe 를 실행하시면, 개발 툴인 이클립스를 실행하실 수 있습니다.

이클립스까지 설치하셨으면, 범용 컴퓨터를 위한 자바 프로그램도 개발이 가능합니다. 안드로이드 개발 환경은 조금 더 손을 봐야 합니다. 글이 너무 길어졌으니, 한 타이밍 쉬고, 다음 포스트에서 이어가겠습니다. ㅎ


+ Recent posts