안드로이드2010.03.26 15:00

제목: 4. 안드로이드 가상 장치 설정

 

안드로이드 프로젝트를 개발하면, 프로그램을 실행 시켜볼 장치가 필요합니다.

하지만, 실제 장치 없이도 장치를 대신하는 소프트웨어(를 에뮬레이터 라고 합니다)를 사용합니다.

 

안드로이드는 그 에뮬레이터를 AVD (Android Virtual Device) 라고 부릅니다.

 

AVD를 만들기 위해서는 우선 AVD가 사용할 안드로이드 SDK가 필요합니다. 현재까지 다양한 버전이 공개되었고, 글을 쓰는 2010년 3월 현재, 최신 버전은 2.1 입니다.

 

이제, AVD를 위한 SDK를 설치해 보겠습니다.

 

안드로이드 SDK를 설치한 경로를 찾아 갑니다.

저는 c:\android-sdk-windows 에 설치 했었습니다. 이 폴더에 있는 SDK Setup 을 실행 시킵니다.

 

 

만약 https 접속이 안되어 에러가 발생해서 아래와 같은 화면이 나타난다면,

 

Close 를 눌러서 닫으시고,

AVD Manager 의 Setting 에서 Misc 의 'Force https://... Sources to be fetched using http://' 를 체크하시면 됩니다.

 

 

AVD Manager가 사용 가능한 SDK 들을 인터넷 상에서 확인해 옵니다.

 

안드로이드 버전별로 사용 가능한 플랫폼들이 나타납니다.

현재 출시되는 안드로이드 폰은 2.0 이상의 플랫폼을 탑재하고 있습니다. 버전별로 모두 선택하여 설치하실 수 있지만, 여기에서는 최신 버전의 2.1 플랫폼을 선택하여 설치 하겠습니다.

플랫폼 이름을 살펴보시면, API 7 이라고 숫자가 써져 있는 것이 버전을 나타냅니다. 그런데 같은 API 7 이라고 씌여 있지만, 하나는 "SDK Platform Android 2.1, API 7" 또 하나는 "Google APIs by Google Inc., Android API 7" 이라고 씌여 있습니다. 그냥 Android 라고 적혀 있는 것은 안드로이드 기본 SDK 이고, 기본 SDK에 구글에서 사용하는 다양한 서비스를 포함시켜 둔 것이 Google APIs SDK 입니다. Google API를 선택하면 구글에서 제공하는 서비스를 사용하여 프로그램 개발을 할 수 있게 됩니다. 대부분 Google API 를 포함한 단말기 이기 때문에, Google API를 선택하여 설치합니다.

그림에서 보시는 것처럼

  • Documentation for Android SDK
  • Samples for SDK API 7
  • Google APIs by Google Inc., Android API 7

를 선택하고, 하단 우측의 Install Selected 버튼을 클릭 합니다.

 

그림처럼 라이선스 동의서가 나옵니다. Accept All 해서 모두 선택 하시면 됩니다.

 

선택한 항목들을 다운로드 합니다.

 

설치 완료.

 

Installed Packages 를 보시면 현재 설치된 패키지를 확인하실 수 있습니다. 이 화면에서 나중에 하단의 update All… 을 선택하시면 설치된 패키지의 업데이트를 확인하고 설치하실 수 있습니다.

지금보니.. Google API만 선택했지만, Android API 도 같이 설치되었네요..

 

이제 가상 장치를 만들어 볼 차례입니다.

왼편 메뉴의 Virtual Devices 를 선택 하세요.

현재는 아무것도 없는 상태 입니다.

오른편의 New 버튼을 누릅니다.

이름은 사용하실 가상 장치의 이름을 입력합니다. 저는 AVD(가상장치)라는 단어와 API 7 의 숫자를 조합해서 이름을 붙여 주었습니다.

Target 은 가상 장치가 사용할 플랫폼을 선택하는 곳입니다. Google API 를 선택 합니다.

SD Card 는 AVD가 사용할 SD 메모리의 용량을 기입하는 곳입니다. 저는 32메가를 선택 했습니다. 이전 경험상 이 숫자가 10 이하이면, 나중에 AVD가 실행되지 않는 문제가 있었습니다.

Skin 에서는 화면의 해상도를 선택할 수 있습니다. 타겟이 될 장치의 해상도를 감안하여 선택하시면 됩니다. 저는 기본으로 했습니다.

Create AVD 는 눌러서 가상장치를 생성 합니다.

 

방금 생성한 AVD 가 나타납니다. 같은 방법으로 다양한 API 의, 다양한 플랫폼의, 다양한 해상도를 갖는 AVD를 여러 개 만드실 수 있습니다.

 

AVD7 을 선택하면, 우측 Start 버튼이 활성화 되고, 안드로이드 에뮬레이터를 시작할 수 있습니다.

Start 버튼을 클릭해 보세요.

에뮬레이터를 실행 시킬 때 선택할 수 있는 옵션창이 나타납니다.

첫번째는 에뮬레이터의 해상도를 조절하는 옵션인데요.

에뮬레이터의 해상도가 높아지다(커지다)보니, 모니터 해상도를 넘어가는 경우가 생기는데, 이럴 때 에뮬레이터의 해상도를 줄여서 (화면에 나타나는 크기를 줄여서) 사용할 수 있게 해주는 옵션 입니다.

두번째, Wipe user data 는 기존 사용자 데이터를 삭제할 것인지를 체크하는 것입니다.


보통, 둘다 체크하지 않고 시작 합니다.


이제 Launch 버튼을 클릭 하세요~!

지금은 곤란하다. 기다려 달라.


안드로이드 에뮬레이터가 구동 중입니다. 

화면에 ANDROID 라고 뜨고, 1,2분 정도 기다리시면 아래처럼 부팅 완료된 화면이 나타 납니다.


에뮬레이터가 구동되었습니다.

마우스를 이용해서 움직여 보세요 ^^

 

 
2010/03/27 - [안드로이드] - 5. 마무리 설정

 

 

 

 

 

 

 p.s
에뮬레이터 구동이 완료되었는데, 아래처럼 화면 잠금 화면이 나타난 경우에는


왼편의 자물쇠를 마우스로 클릭해서 오른편으로 드래그 해주세요.

왼쪽의 자물쇠를 마우스로 클릭해서 오른쪽으로 드래그 해주세요.



혹시, 화면상에 마우스 클릭 자체가 안된다면! 에뮬레이터가 스크린 OFF 상태 (화면 꺼짐 상태) 인 것입니다.
그럴땐, 오른편에 있는 빨간수화기 버튼을 한번 클릭 하신 뒤에
위 설명 처럼 자물쇠를 오른쪽으로 드래그 하시면 화면 잠금이 풀립니다.

Posted by Dr.Kein

댓글을 달아 주세요

  1. 비밀댓글입니다

    2010.04.27 23:38 [ ADDR : EDIT/ DEL : REPLY ]
  2. 조조보

    가상에뮬 가동시키면 에러 메세지가 보이고 config.ini에러인가가 뜨는 것 같습니다.
    도와주세요..

    2010.04.28 08:27 신고 [ ADDR : EDIT/ DEL : REPLY ]
  3. 혹시 윈도 사용자 이름이 한글로 되어 있으신가요.
    사용자 이름이 한글로 되어 있는 경우에 비슷한 에러가 났던걸로 기억 합니다.

    2010.05.03 16:48 신고 [ ADDR : EDIT/ DEL : REPLY ]
  4. 도와주세용

    emulator: ERROR: bad config: virtual device directory lacks config.ini
    emulator: could not find virtual device named 'AVD7'
    이런에러가뜨면서 안뜨네요 어떻게해야되요??ㅜ/.ㅜ

    2010.05.09 22:36 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 윈도 사용자 이름이 한글로 되어 있는 경우 인것 같습니다.
      사용자 이름이 한글인 경우 안드로이드 virtual device 를 다른 폴더로 옮기시면 해결 됩니다.

      2010.05.10 11:07 신고 [ ADDR : EDIT/ DEL ]
  5. 김종호

    emulator: ERROR: no search paths found in this AVD's configuration.
    Weird, the AVD's config.ini file is malformed. Try re-creating it.
    위와 같은 에러메시지가 뜨는데요 ....!!

    2010.05.18 22:57 신고 [ ADDR : EDIT/ DEL : REPLY ]
  6. Legend

    실행된 AVD에 메뉴나 아이콘 등이 없이 'ANDROID' 라고만 뜨는데... 이건 정상인건가요??

    아님 default 값이 뭔가 설정되어 있어야 하는건가요??

    Google API 가 깔려있으면 자동으로 나와야 하는거 아닌지요??

    2010.06.05 12:57 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • ANDROID 라는 문구가 나온 상태는 부팅중인 상태 입니다.
      더 기다리시면 메인 화면이 나타나거나
      또는, 절전모드 상태인 화면(화면 잠김이 되어 있는 화면) 이 나타납니다.
      더 기다려 보세요~

      2010.06.08 11:30 신고 [ ADDR : EDIT/ DEL ]
  7. 시범 운영 희망자

    이곳의 몇개 강좌를 링크하고 싶은데 괜찮으신가요?

    2010.06.12 12:11 신고 [ ADDR : EDIT/ DEL : REPLY ]
  8. 101%

    검정색 화면에 Android 딸랑 나옵니다. 성공한건가요?

    그리고 3번 cmd 화면이 나오는데, 마지막에 Error apllication ~ 하고 나옵니다.

    2010.07.05 15:20 신고 [ ADDR : EDIT/ DEL : REPLY ]
  9. virtual device가 어디있죠??
    그리고찾으면 어디로옮기죠??

    2010.07.22 21:09 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 답변이 늦었네요.. 이미 해결 하셨을것 같지만..
      가상장치는 내문서 폴더쪽에 있었던거 같습니다.
      안드로이드 avd 옮기기로 검색 해보시면 금방 찾으실 수 있습니다.

      2010.08.26 00:12 신고 [ ADDR : EDIT/ DEL ]
  10. Dr. Dori

    java가 설치되어 있지 않다고 하는데...설마 그 많은 량을 다 받아야만 하는건가요?

    2010.08.25 10:55 신고 [ ADDR : EDIT/ DEL : REPLY ]
  11. Dr. Dori

    Error loding preference라고 뜨면서 android라고 구동이 되는데...

    그럼 이건 어떻게 되는건지요?

    android...에서 안드로이드 입체로고로 바뀐 후 아무 반응이 없어요 ㅠ

    2010.08.25 15:44 신고 [ ADDR : EDIT/ DEL : REPLY ]
  12. 오류ㅜㅜ

    emulator: ERROR: bad config: virtual device directory lacks config.ini
    emulator: could not find virtual device named 'AVD7'
    이런 에러가 뜨면
    virtual device를 다른폴더에다가 옮기면 된다고 하셨는데 무슨 말이시죠?

    2010.10.02 13:54 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 요런 내용입니다. ^^
      http://www.androidside.com/bbs/board.php?bo_table=B46&wr_id=1612

      2010.10.04 14:00 신고 [ ADDR : EDIT/ DEL ]
  13. 모르겠음..ㅠ

    가상에뮬을 스타트를 하면 이런글이 써잇는 창이 떠집니다..
    어떻게 해야 하나요??
    invalid command-line parameter: �
    Hint: use '@foo' to launch a virtual device named 'foo'.
    please use -help for more information

    2010.10.07 20:42 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • parameter: ? 여기의 물음표가 궁금하네요.
      아마도, avd 이름을 붙일 때 뭔가 잘못 된 것같습니다. 가상장치를 삭제하고 다시 만들어서 해보세요. ^^

      2010.10.20 14:14 신고 [ ADDR : EDIT/ DEL ]
  14. help

    Error Loading DDMS Preferences어찌하나요??

    2011.11.20 10:12 신고 [ ADDR : EDIT/ DEL : REPLY ]
  15. emulator: ERROR: This AVD's configuration is missing a kernel file!!
    이라고 런취 누르자마자 떠요 ㅠ.

    2012.01.19 16:06 신고 [ ADDR : EDIT/ DEL : REPLY ]
  16. JIJI

    ERROR : Unable to find a 'userdata.img file for ABI aemeabi t ocopy into the AVD folder.
    이런 오류 메세지 뜨는데 어찌 해결해야되죠 부탁드립니다.

    2012.03.19 16:06 신고 [ ADDR : EDIT/ DEL : REPLY ]

안드로이드2010.02.19 14:27
안드로이드를 시작하면서 이상하게 잘 안되었던 문제가 바로 에뮬레이터 문제였다.
어떤때는 잘 되는데, 어떤때는 안되서 애태우는.. 그런 문제가 있었다. (방금도..;;)

프로그램을 짜고 테스트를 하기 위해서는 에뮬레이터가 필요하고,
안드로이드 툴은 에뮬레이터를 가상으로 만들어 주는 기능이 있다.

이때, SD 카드 메모리의 용량을 설정하는 옵션이 있는데, 이녀석 때문에 원인 모를 에러에 시달리고 있었다.

프로그램을 작성하고 실행 시키려 하면, 에뮬레이터가 실행 되자마자 종료 되는 것..
이클립스 콘솔 창에는 아래와 유사한 에러가 찍혀 있다.

emulator[10090:10b] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
....이하 생략...


문제는
안드로이드 완전 기본 프로젝트를 작성하고 실행 시켜도 동일 에러가 난다는 것, 
즉, 이유를 찾지 못하고 있었던 것인데, 좀전에 삽질 끝에 원인을 찾았다.

범인은 바로, 에뮬레이터의 SD 메모리 용량 설정에 있었다.

별 생각없이 8 메가로 설정했을 때는 에뮬레이터가 실행시키자 마자 에러가 나면서 죽어버리는데, 
SD 카드 용량을 10메가로 했을 때에는 에뮬레이터가 정상 동작 된다.

기본 8메가 이상을 설정하는 것으로 (어디서 본건지 기억 안나지만..) 알고 있었기에 
별생각 없이 8메가로 설정 했었던 것인데, 그게 문제였던 거다.

이 문제로 고생하시는 분들 계시면 SD 메모리 용량을 바꿔 보시길 바란다.


Posted by Dr.Kein

댓글을 달아 주세요

Windows Mobile2009.04.08 10:04

저번에 한참 찾아 헤메이다가 없는줄 알고 넘어갔던 에뮬레이터의 기본 메모리 용량 조절 부분을 우연히 찾았다.


VS 2008 기준.

사진의 붉은 원 아이콘을 누르거나
또는
VS 메뉴의 '도구' -> '옵션' -> '장치도구' -> '장치' 를 찾아간다.

그 다음 단계는 아래 그림으로 대체...



그러나..

최대 RAM 크기는 256 메가 라는 어이없는 제약이 있다 ㅡ,.ㅡ;;
Posted by Dr.Kein

댓글을 달아 주세요

Windows Mobile2009.03.27 09:37

윈도우 모바일 장치에 동작시킬 프로그램을 개발 하기 위해서, 실제 윈도우 모바일 단말기를 사용하지 않고도
 단말기의 동작, 환경을 똑같이 사용할 수 있도록 해주는 에뮬레이션 도구가 있다.

일단은 개발 환경을 갖추기 위해
Visual Studio 가 필요하고,
Windows Mobile SDK 가 필요하다.


비주얼 스튜디오의 '도구' 메뉴에 '장치 에뮬레이터 관리자' 를 실행 시켜 보면 (vs2008기준)
현재 시스템에 설치된 모바일 단말기의 에뮬레이터 목록을 볼 수 있다.



이 곳에서
에뮬레이터의 전반적인 관리를 할 수 있다.

개발에 사용할 에뮬레이터를 선택하여 오른쪽 클릭을 하면 메뉴가 나타난다. 여기서 '연결'을 눌러보자.

연결을 클릭하면, 해당 os 가 동작하는 에뮬레이터가 나타나게 된다.
이제부터는 실제 윈도우 모바일 단말기를 사용하는 것과 동일하게 사용할 수 있다.



또한, 에뮬레이터 관리자를 사용하면 실제 장치를 크래들에 얹은 것과 같은 이벤트를 활성화 시켜줄 수도 있다.
즉, 실제 단말기를 usb 케이블에 연결한 것과 같이 Active Sync 가 동작하도록 할 수 있다.

이를 위해서는 Active Sync 에서 설정이 필요하다.
Active Sync 를 활성화 시켜서,  File -> 연결 설정에 들어간다.


이곳에서 '다음 중 한 가지 연결 허용' 에서 DMA 를 선택하여야만 에뮬레이터를 연결할 수 있다.

확인을 눌러 설정을 저장한 뒤,,

에뮬레이터 관리자에서  '크레들에 놓기' 를 선택한다.


아래 그림에 보이는 것과 같이
실제 윈도우 모바일 단말을 연결하는 것과 동일한 과정을 거쳐 단말기가 연결된다.


이때, 주의할 점은..
Active Sync 는 동시에 하나의 장치만을 연결할 수 있다느 점.
실제 단말기를 usb에 꽂은 상태로, 에뮬레이터를 싱크할 수 없다는 것이 조금은 불편하다.



Posted by Dr.Kein

댓글을 달아 주세요