상세 컨텐츠

본문 제목

[Android]에뮬레이터와 시뮬레이터의 차이

Android 개발

by mobile 2012. 6. 10. 15:23

본문

반응형

- 에뮬레이터와 시뮬레이터의 차이


보통 인터넷에서는 에뮬레이터를 현재 사용 중인 시스템안에 다른 시스템을 완벽하게 재현하는 데 초점을 두는 툴이라고 설명하고 있습니다. 그리고 시뮬레이터는 대상 시스템을 추상화한 것에만 관심을 둔다고 말합니다. 이러한 정의를 바탕으로 애플리케이션을 개발할 때 제공되는 에뮬레이터와 시뮬레이터는 다음과 같이 구분할 수 있습니다.


먼저 애뮬레이터는 타켓 환경을 대상으로 빌드된 실행 파일을 개발 호스트에서도 실행할 수 있게 해주는 프로그램입니다. 우리가 안드로이드 애플리케이션을 개발하는 테스크톱 PC는 Intel x86 계열의 CPU를 사용하며, 실제 안드로이드 기기는 ARM 계열의  CPU를 사용합니다. 그래서 ARM용 컴파일러로 빌드를 하면 생성된 바이너리를 테스크톱 PC에서 실행할 수 없습니다. 하지만, 에뮬레이터는 이러한 ARM 바이너리를 테스크톱 PC에서 실행 할 수 있도록 완벽한 CPU 가상화를 지원합니다. 반면에 시뮬레이터는 단지 안드로이드 기기를 흉내 낸 것에 지나지 않기 때문에 ARM 바이너리를 실행할 수 없습니다. 단순히 해상도나 부팅과 같은 부분들을 실제 안드로이드 기기와 비슷하게 맞춘 것이 전부입니다. 그래서 개발 환경이 에뮬레이터 대신 시뮬레이터를 제공한다면 아마도 시뮬레이터를 이용해서 개발할 때에는 프로젝트를 ARM이 아닌 x86 바이너리로 빌드하여 사용할 것입니다. 대신 이렇게, 시뮬레이터를 통해 애플리테이션을 개발을 끝내면 그 소스를 가지고 다시 ARM용으로 빌드하여 배포하는 것입니다.

반응형

'Android 개발' 카테고리의 다른 글

[Android]howto_SDK_git_cygwin  (0) 2012.06.21
[Android]이클립스 단축키  (0) 2012.06.10
[Android]Key / Touch event  (0) 2012.01.28
[Android] Activity  (0) 2011.11.13
[Android]Spinner(스피너)  (0) 2011.11.13

관련글 더보기

댓글 영역