Android x86 이미지를 사용하고 하드웨어 가속 설정까지 하면 기존 Android 에뮬레이터 보다 빠른 에뮬레이터 상에서 개발이 가능합니다. 이것 저것 해봤지만 결국 디바이스에 직접 설치해서 테스트하는게 좋기도 하지만 fastdev를 이용할수 없기에 ui작업중에는 fastdev를 이용하여 emulator상에서 확인하는게 가장 편한것 같습니다. 그런데 문제는 에뮬레이터자체가 너무 느려서 터치를 해도 한참 뒤에 반응이 와서 불편하죠. 이 문제는 아래와 같이 하니 많이 해결됩니다.
Appcelerator Developer Blog에 올라온 http://developer.appcelerator.com/blog/2013/04/configuring-appcelerator-titanium-to-use-intel-x86-images.html 글을 보면서 겪은 내용입니다.
제가 직접 블로글을 보며 테스트한 환경은 맥북프로 레티나 13인치 , OSX 10.8.3이며 이미 Titanium Studio가 깔려있고 Android SDK가 설치/설정 되어있던 상태입니다.
x86을 사용하게되면 빨라져서 좀 더 부드러운 에뮬레이터를 만나게 됩니다. 에뮬레이터가 구동될때까지의 시간은 큰 차이가 느껴지지 않습니다만 에뮬레이터에서 앱을 실행했을때 반응 속도가 전보다 빠릅니다. KitchenSink에 있는 Table Performance 부분을 이용하여 측정했을 때 기존 ARM인 경우에는 2000ms이 걸렸다면 x86의 경우는 250ms 정도 걸립니다. 큰 차이죠^^
설정한 내용은 크게 아래와 같습니다. (자세한 내용은 위 블로그 글을 참조하세요.)
0. Android SDK Manager에서 Intel x86 Atom System 이미지 설치 (해당 SDK버전의 별로 하위에 있습니다.)
1. Intel Hardware Accelerated Execution Manager(HAEM) 를 설치 (android SDK manger를 통해 설치)
2. HAEM hot fix 설치
3. Titanium Studio 재시작 후 해당 x86용 SDK를 이용하여 실행 환경 만들고 설정 변경 및 실행 (위 블로그 글의 Step 5~7 에 해당)
4. x86 이미지에는 구글 API가 포함되지 않아서 구글지도등을 사용할 수 없다. 따라서 구글 API를 에뮬레이터 인스턴스에 복사. (구글 API를 쓰지 않는다면 이부분은 하지 않아도 문제는 없습니다. 그리고 여기서 ” adb shell /data/mkfs.yaffs2.x86 /system /data/system.img” 이 명령어는 정말 오래걸립니다. 인내심을 갖고 기다리세요.
주의사항
- 블로그 글에서 시뮬레이터를 실행하고 완전히 실행될때까지 기다리라는 부분과 시뮬레이터 종류하라고 하는 부분들이 있는데 잘 지켜야 한다.
- 가끔 에뮬레이터가 안켜지고 다운된 것 같다고 느껴질때가 있습니다. 그래도 한번 인내심을 갖고 기다려보세요.ㅠㅠ 그럴때가 있더군요.
- emulator-x86 찾을수 없다는 에러가 날경우 아래와 같이 emulator-x86 심볼링크 만들어주세요.
$ sudo ln -s /path/to/android/sdk/tools/emulator-x86 /usr/bin/emulator-x86
Facebook Group's likes and commnets
James Jung liked this post
James Jung(04-08 20:17) : 그래도 기기가 편한것 같아서 그냥 기기로 합니다 ^^