안녕하세요 회색입니다. 이번 강좌에서는 작성된 프로젝트의 실행과 디버깅을 해보고 실제 단말 연결까지 해보도록 하겠습니다.
안드로이드 강좌 3 - 프로젝트 실행과 디버깅 그리고 단말 세팅
Activity 실행
메뉴에서 Run/Run Configurations 실행
Android Application에서 오른쪽 마우스 클릭후 New 선택
Name: New_configuration 을 프로젝트에 맞게 변경
Project : Browse후 해당 Project선택
Launch Action : Run시 실행할 Activity를 선택합니다.
(그림 3-1)
새로 작성한 Activity를 실행해 보기 위해서 Launch를 선택하고 List에서 새로생성한 MyActivity를 선택합니다.
Apply 후 Run을 실행하면 Emulator가 아직 떠있지 않다면 자동으로 실행합니다. Emulator는 한번 생성해 놓으면 매번 프로그램을 실행할때 마다 다시 시작시킬필요없이 재사용될 수 있습니다.
Run을 하게 되면 자동으로 Emulator에 이전에 인스톨되어있던 프로그램을 언인스톨하고 새로 작성된 프로그램을 인스톨한 후 선택한 Activity로 실행하여 줍니다.
(그림 3-2)
에뮬레이터를 처음 실행하였을 때 (그림 3-2)와 같은 화면이 나오는데 MENU라고 써져 있는 부분을 클릭하면 프로그램 화면을 볼 수 있습니다. 정상적으로 실행이 되었다면 에뮬레이터에 myactivity.xml에서 작성해주었던 "안녕하세요 모바일 플레이스 안드로이드 강좌 수강생 여러분" 라는 문구가 나타납니다.
(그림 3-3)
다시 프로그램을 실행시킬 때에는 (그림 3-3)에 표시된 아이콘을 누른 후 생성한 Configuration을 선택하면 됩니다.
디버깅
소스 에디터의 왼쪽 부분을 더블 클릭하면 해당 위치에 브레이크 포인트가 설정됩니다. 브레이크 포인트가 설정된 지점에 작은 동그라미가 표시됩니다.
(그림 3-4)
그럼 이제 디버깅 모드로 프로그램을 실행시켜보도록 하겠습니다. (그림 3-5)에 표시된 벌레 모양 아이콘이 디버깅을 위한 실행 버튼입니다.
(그림 3-5)
다이얼로그 창이 뜨는데 확인을 누르면 이클립스가 디버그 상태로 전환됩니다. 이것을 Debug Perspective로 전환되었다고 합니다. 그리고 아까 잡아주었던 브레이크 포인트에 현재 실행이 멈추어 있는 것을 확인할 수 있습니다.
(그림 3-6)
Step Into (F5) : 메서드 속으로 들어가서 실행
Step Over (F6) : 한줄 실행
등 디버깅과 관련된 명령과 아이콘의 모양은 메뉴의 Run에서 확인하실 수 있습니다.
Perspective
소스 변경화면과 디버깅 화면등의 Perspective 전환은 오른쪽 위화면에서 각각 Java와 Debug의 클릭으로 가능합니다.
(그림 3-7)
안드로이드 개발시 또하나의 유용한 Perspective가 있는데 바로 DDMS입니다. 메뉴의 Windows/Open Perspective에서 DDMS를 선택하면 열수 있습니다. (바로 보이지 않는다면 Other를 클릭하면 선택하실 수 있습니다.)
(그림 3-8)
DDMS Perspective에서는 현재 에뮬레이터 및 단말의 프로세스, 쓰레드, 힙, 파일등의 다양한 정보를 확인할 수 있습니다. 또한 에뮬레이터에서 SMS, 전화, GPS 등을 시뮬레이션할 수도 있습니다.
로그캣
저번 강좌에서 소스에 Log.d("MyTag", "Print Test Log"); 라는 코드를 넣었습니다. 이것은 개발할때 필요한 로그를 출력해주는 역할을 합니다. 디버깅 혹은 DDMS 화면 밑 부분에 LogCat이라는 영역에서 로그를 확인하실 수 있습니다. Print Test Log라고 찍힌 부분을 확인하실 수 있습니다.
(그림 3-9)
그런데 로그가 너무 많이 나와서 복잡합니다. 작성한 어플리케이션에서 나오는 메시지만을 따로 확인하기 위해서 필터를 적용할 수 있습니다. Log.d함수의 첫번째 인자인 Tag부분을 이용해서 가능합니다. 녹색 + 모양을 눌러 Filter를 생성합니다.
(그림 3-10)
Log Filter라는 창에서 Filter Name은 적당히 적은 후, 따로 메시지를 확인할 Tag부분을 "MyTag"로 적어서 OK를 합니다.
(그림 3-11)
이제 LogCat창안에 새로운 필터 탭이 생겨서 MyTag라는 Tag를 가지는 메시지는 따로 분류해서 보여줍니다.
(그림 3-12)
단말 디버깅
안드로이드 실제 단말을 통한 개발은 몇가지 설정만 해준다면 에뮬레이터를 통한 개발과 크게 다르지 않습니다.
단말 상에서 Settings를 실행 Applications/Development로 들어가서 USB debugging과 Stay awake를 체크해줍니다.
그런 후 단말을 USB케이블을 통해서 PC연결해주면 새로운 장치를 찾았다며 드라이버를 설치하라는 화면이 나옵니다.
드라이버는 SDK가 설치된 폴더 밑에 usb_driver라는 폴더에 저장되어있습니다. (1.0 SDK Release2에서 부터 포함되서 나왔습니다.)
정상적으로 드라이버가 설치되었다면 DDMS화면의 왼쪽 윗부분 Devices화면에 Emulator가 아닌 실제 장치가 표시됩니다.
(그림 3-13)
실제 단말상에서 개발시 소스 상에서 추가해줘야 하는 부분이 하나 있습니다. AndroidManifest.xml에 application 태그에서 android:debuggable="true"를 추가해주어야 합니다. 만약 설정해주지 않는다면 Wating For Debugger화면에서 더 이상 진행되지 않습니다.
(그림 3-14)
debuggable tag는 개발시에 넣어두고 실제 릴리즈시에는 삭제해주는 것이 좋습니다. 이제 모든 설정이 끝났고 실제 단말에서도 에뮬레이터에서 디버깅을 하는 것과 동일하게 개발을 하실 수 있습니다.
이번 강좌에서는 안드로이드 개발과 디버깅을 위한 이클립스의 사용법과 단말 세팅까지 살펴보았습니다. 이제 이클립스에 환경과 기본적인 프로젝트 구성에 익숙해지셨을 테니 다음 강좌 부터는 본격적인 개발에 들어가 보도록 하겠습니다.
- lecture3-14.JPG (29.2KB)(359)
- lecture3-1.JPG (63.1KB)(393)
- lecture3-2.JPG (14.6KB)(72)
- lecture3-3.JPG (38.3KB)(59)
- lecture3-4.JPG (48.9KB)(57)
- lecture3-5.JPG (40.9KB)(47)
- lecture3-6.JPG (142.6KB)(48)
- lecture3-7.JPG (8.0KB)(50)
- lecture3-8.JPG (25.6KB)(44)
- lecture3-9.JPG (54.2KB)(57)
- lecture3-10.JPG (56.2KB)(54)
- lecture3-11.JPG (17.3KB)(68)
- lecture3-12.JPG (26.4KB)(56)
- lecture3-13.JPG (9.2KB)(86)
애물레이터가 처음엔 'android' 로고 지나서 폰화면처럼 제대로 한번 떴는데 그 다음 실행시부터는 'android'로고에서 멈춰있네요 특별한 에러 메세지도 없이 20분이 지나도 멈춰있네요
우째야 되나요? ㅠㅠ
여기까지 문제 없이 다 되었는데요..
에뮬레이터에서 My Activity 어플이 실행되고 아래 내용에
'Hello world!' 라고 뜹니다.
하지만..... 저는 코드 작성시 Hello world! 라는 내용을 적은적이 없는데요..
'Hello_world' 로 출력이 되어야 하는데 왜 Hello world! 로 출력이 될까요..?