안녕하세요 회색입니다. 이번 강좌에서는 작성된 프로젝트의 실행과 디버깅을 해보고 실제 단말 연결까지 해보도록 하겠습니다.

안드로이드 강좌 3 - 프로젝트 실행과 디버깅 그리고 단말 세팅

Activity 실행

메뉴에서 Run/Run Configurations 실행

Android Application에서 오른쪽 마우스 클릭후 New 선택
Name: New_configuration 을 프로젝트에 맞게 변경
Project : Browse후 해당 Project선택
Launch Action : Run시 실행할 Activity를 선택합니다.

lecture3-1.JPG
(그림 3-1)

새로 작성한 Activity를 실행해 보기 위해서 Launch를 선택하고 List에서 새로생성한 MyActivity를 선택합니다.
Apply 후 Run을 실행하면 Emulator가 아직 떠있지 않다면 자동으로 실행합니다. Emulator는 한번 생성해 놓으면 매번 프로그램을 실행할때 마다 다시 시작시킬필요없이 재사용될 수 있습니다.

Run을 하게 되면 자동으로 Emulator에 이전에 인스톨되어있던 프로그램을 언인스톨하고 새로 작성된 프로그램을 인스톨한 후 선택한 Activity로 실행하여 줍니다.

lecture3-2.JPG
(그림 3-2)

에뮬레이터를 처음 실행하였을 때 (그림 3-2)와 같은 화면이 나오는데 MENU라고 써져 있는 부분을 클릭하면 프로그램 화면을 볼 수 있습니다. 정상적으로 실행이 되었다면 에뮬레이터에 myactivity.xml에서 작성해주었던 "안녕하세요 모바일 플레이스 안드로이드 강좌 수강생 여러분" 라는 문구가 나타납니다.

lecture3-3.JPG
(그림 3-3)

다시 프로그램을 실행시킬 때에는 (그림 3-3)에 표시된 아이콘을 누른 후 생성한 Configuration을 선택하면 됩니다.

디버깅

소스 에디터의 왼쪽 부분을 더블 클릭하면 해당 위치에 브레이크 포인트가 설정됩니다. 브레이크 포인트가 설정된 지점에 작은 동그라미가 표시됩니다.

lecture3-4.JPG
(그림 3-4)

그럼 이제 디버깅 모드로 프로그램을 실행시켜보도록 하겠습니다. (그림 3-5)에 표시된 벌레 모양 아이콘이 디버깅을 위한 실행 버튼입니다.

lecture3-5.JPG
(그림 3-5)

다이얼로그 창이 뜨는데 확인을 누르면 이클립스가 디버그 상태로 전환됩니다. 이것을 Debug Perspective로 전환되었다고 합니다. 그리고 아까 잡아주었던 브레이크 포인트에 현재 실행이 멈추어 있는 것을 확인할 수 있습니다.

lecture3-6.JPG
(그림 3-6)

Step Into (F5) : 메서드 속으로 들어가서 실행
Step Over (F6) : 한줄 실행

등 디버깅과 관련된 명령과 아이콘의 모양은 메뉴의 Run에서 확인하실 수 있습니다.

Perspective

소스 변경화면과 디버깅 화면등의 Perspective 전환은 오른쪽 위화면에서 각각 Java와 Debug의 클릭으로 가능합니다. 

lecture3-7.JPG
(그림 3-7)

안드로이드 개발시 또하나의 유용한 Perspective가 있는데 바로 DDMS입니다. 메뉴의 Windows/Open Perspective에서 DDMS를 선택하면 열수 있습니다. (바로 보이지 않는다면 Other를 클릭하면 선택하실 수 있습니다.)

lecture3-8.JPG
(그림 3-8)

DDMS Perspective에서는 현재 에뮬레이터 및 단말의 프로세스, 쓰레드, 힙, 파일등의 다양한 정보를 확인할 수 있습니다. 또한 에뮬레이터에서 SMS, 전화, GPS 등을 시뮬레이션할 수도 있습니다.

로그캣

저번 강좌에서 소스에 Log.d("MyTag", "Print Test Log"); 라는 코드를 넣었습니다. 이것은 개발할때 필요한 로그를 출력해주는 역할을 합니다. 디버깅 혹은 DDMS 화면 밑 부분에 LogCat이라는 영역에서 로그를 확인하실 수 있습니다. Print Test Log라고 찍힌 부분을 확인하실 수 있습니다.

lecture3-9.JPG
(그림 3-9)

그런데 로그가 너무 많이 나와서 복잡합니다. 작성한 어플리케이션에서 나오는 메시지만을 따로 확인하기 위해서 필터를 적용할 수 있습니다. Log.d함수의 첫번째 인자인 Tag부분을 이용해서 가능합니다. 녹색 + 모양을 눌러 Filter를 생성합니다.

lecture3-10.JPG
(그림 3-10)

Log Filter라는 창에서 Filter Name은 적당히 적은 후, 따로 메시지를 확인할 Tag부분을 "MyTag"로 적어서 OK를 합니다.

lecture3-11.JPG
(그림 3-11)

이제 LogCat창안에 새로운 필터 탭이 생겨서 MyTag라는 Tag를 가지는 메시지는 따로 분류해서 보여줍니다.

lecture3-12.JPG
(그림 3-12)

단말 디버깅

안드로이드 실제 단말을 통한 개발은 몇가지 설정만 해준다면 에뮬레이터를 통한 개발과 크게 다르지 않습니다.

단말 상에서 Settings를 실행 Applications/Development로 들어가서 USB debugging과 Stay awake를 체크해줍니다.
그런 후 단말을 USB케이블을 통해서 PC연결해주면 새로운 장치를 찾았다며 드라이버를 설치하라는 화면이 나옵니다.
드라이버는 SDK가 설치된 폴더 밑에 usb_driver라는 폴더에 저장되어있습니다. (1.0 SDK Release2에서 부터 포함되서 나왔습니다.)

정상적으로 드라이버가 설치되었다면 DDMS화면의 왼쪽 윗부분 Devices화면에 Emulator가 아닌 실제 장치가 표시됩니다.

lecture3-13.JPG
(그림 3-13)

실제 단말상에서 개발시 소스 상에서 추가해줘야 하는 부분이 하나 있습니다. AndroidManifest.xml에 application 태그에서 android:debuggable="true"를 추가해주어야 합니다. 만약 설정해주지 않는다면 Wating For Debugger화면에서 더 이상 진행되지 않습니다.

lecture3-14.JPG
(그림 3-14)

debuggable tag는 개발시에 넣어두고 실제 릴리즈시에는 삭제해주는 것이 좋습니다. 이제 모든 설정이 끝났고 실제 단말에서도 에뮬레이터에서 디버깅을 하는 것과 동일하게 개발을 하실 수 있습니다.

이번 강좌에서는 안드로이드 개발과 디버깅을 위한 이클립스의 사용법과 단말 세팅까지 살펴보았습니다. 이제 이클립스에 환경과 기본적인 프로젝트 구성에 익숙해지셨을 테니 다음 강좌 부터는 본격적인 개발에 들어가 보도록 하겠습니다.

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.  출처 : http://www.androidpub.com/764 작성자 : 회색(박성서)