Friday, November 8, 2013

안드로이드 앱 개발/테스트를 위한 가장 빠른 에뮬레이터 Genymotion



출처: http://www.kmshack.kr/347


안드로이드 SDK에서 제공해주는 Android Virtual Devices Manager(AVD)를 써본 개발자라면 한번 써보고 바로 지웠을 것이다. 왜냐면 개발/테스트하기에 상당히! 엄청나게! 느려서 일것이다. 허니컴 이전까지만 해도 그래도 참아가면서 쓸만했다. 하지만 그 이후로는 실제 기기에서 디버깅하는게 훨씬 편하다. 실제 기기로 개발하면 장/단점이 존재 하겠지만, 개인적으로는 에뮬레이터를 통해서 개발하면 입력이나 화면터치가 좀 더 유연하기때문에 빠른 디버깅및 테스트가 가능하다고 생각하지만 에뮬레이터의 속도가 너무 느려 포기하고 기기를 통해 개발을 했다. 


이제 IOS처럼 에뮬레이터를 통해서 디버깅이 가능해질 것 같다.  GENYMOTION을 통해서 AVD와 비교안되는 또는 오히려 테스트폰 보다 빠른 에뮬레이터를 만들 수 있다. GENYMOTION는 VirtualBox에 Android의 가상 머신을 만들어준다.

Windows, Mac, Linux Debian 32bit/64bit 등 다양한  O/S를 지원한다는 점과 Eclipse/IntelliJ IDEA도 Plugin으로 제공된다는 점이다. 이 모든것이 회원가입만 하면 무료로 사용이 가능하다.
현재 AVD에서 제공되는 기능은 모두 지원하고 있으며, 향후 다양한 기능들이 지원한것이라고 한다. 예를 들어 Google Play를 기본 설치를 해놓는다거나 Eclipse에서 바로 Virtual Device를 띄우는 등 좀더 편하게 개발 할 수 있는 기능을 추가한다고 한다.



장점: 


Easy to install, easy to run. : 쉽게 설치/실행 가능하다. 
Control powerfull sensors to test specialized features on your app. : 센서제어를 통한 앱테스트를 할 수 있다.
Perfectly integrated into your development workflow. : 완벽하게 개발환경에 통합된다.

Genymotion는 x86 아키텍처 가상화를 사용한 에뮬레이터로 훨씬 더 효율적이다. 여기에서 OpenGL의 하드웨어 가속의 이점인 3D 성능과 응용 프로그램을 테스트가 가능하다.


갤럭시S4와 동급인 환경의 Virutal Device를 만들어 테스트 해보았다. 폰과 비교해서 전혀 손색이 없을 정도로 오히려 빠른수준의 속도를 자랑한다. 


설치 방법:


0. http://www.genymotion.com 회원가입
1. https://cloud.genymotion.com/page/launchpad/download/ 로 이동해서 해당 O/S버전에 맞는 설치 파일을 내려 받은 후 설치 하면 된다.  
2. VirtualBox를 기반으로 실행 되기때문에 VirtualBox 다운로드 사이트를 방문해서 다운로드 받아야 한다.
3. Eclipse Plugin 설치: Help/ Install New Software 에서 http://plugins.genymotion.com/eclipse URL을 통해 설치 한다.
4. 설치 후 Genymotion에서 Android SDK의 설치된 Path를 설정하면 된다.



사용하기: 


AVD와 비슷한 설정을 가지고 있으며, 기본적으로 구글 레퍼런스 폰의 Virtual Device들을 지원해준다.  

설정을 통해 해상도, DPI, 소프트 키보드, 네비게이션바등을 설정 할 수 있다.  기본인 Virtual Device를 Cloud기반으로 지원 해주며, 앞으로 더 다양한 Device들이 추가 될 것이라 본다. 이렇게 Virtual Device를 추가하면 해당 이미지를 다운받아 실행하게 된다.

또한 Genymotion Shell로 기기에 대한 다양한 명령을 내리거나, 상태를 조회 할 수 있다.  (참고: https://cloud.genymotion.com/page/doc/)





손쉬운 설치와 사용, 복잡한 테스트, x86아키텍처 가상화를 사용한 에뮬레이터,  개발환경에 환벽하게 통합.

Cloud기반으로 해당 Device의 이미지를 받아 VirtualBox를 통해 실행한다는 점에서 AVD와 비교 안될 정도의 속도와 안정성을 자랑한다. 기존의 단말기를 가지고 개발/테스트를 해야 했지만 이제는 바뀔것 같다. 지금도 좋지만 다양한 Virtual Device와 다양한 기능으로 지속적인 업데이트를 이루어 갔으면 좋겠다.

No comments:

Post a Comment