소프트웨어개발/Android

ADV 커널 컨피그레이션 에러

날개 2014. 10. 27. 23:32

안드로이드 스튜디오를 사용해 보기 위해, 설치하고 (0.8.9 베타) 가상 안드로이드 장치를 만들어 실행해 보았으나 아래와 같은 에러 메시지가 나타났습니다.


내용은 아래와 같은데요...


Starting emulator for AVD 'Nexus_4_768x1280_5_4.4.2_ARM'

emulator: ERROR: This AVD's configuration is missing a kernel file!!


해결해 보려고 여러 방법을 시도해 보고, 구글도 한참 찾아 헤매다 성공한 방법이 있어서 포스팅합니다.

증상은 같지만, 상황이 다른지 다양한 해결책들이 검색되었지만, 제 경우는 이 방법만 성공하더군요.


제가 사용한 해결 방법에 대해서는, http://stackoverflow.com/questions/8190820/scala-android-newbie/15971119#15971119 의 답변 중에 나와 있고, 절차를 간단히 적어보겠습니다.


먼저, AVD 매니저를 띄우고, 생성한 에뮬레이터를 선택한 다음에, 우측 [Details] 버튼을 누릅니다.


그러면, 아래와 같이 안드로이드 가상머신이 생성된 위치를 알 수 있죠. oooooo.avd 는 파일이 아니라 디렉터리 입니다. 

AVD 가 있는 디렉터리 안으로 들어가면 config.ini 라는 파일이 있습니다. (위 화면과 같이 기본 안드로이드 가상 머신 디렉터리는 히든 디렉터리이기 때문에(맥에서는 . 으로 시작하는 디렉터리는 히든 디렉터리입니다), 파인더에서는 보이지 않으므로, 터미널을 통해 접근 하든지, ForkLift 같은 써드파티 파인더를 이용하든지, 어쨌든 텍스트 에디터로 config.ini 파일을 엽니다.


생성한 에뮬레이터마다 다르지만, 대략 아래와 같은 형식으로 이루어져 있습니다.


avd.ini.encoding=ISO-8859-1

abi.type=armeabi-v7a

avd.ini.encoding=ISO-8859-1

disk.dataPartition.size=200M

hw.accelerometer=yes

hw.audioInput=yes

hw.battery=yes

hw.camera.back=none

hw.camera.front=none

hw.cpu.arch=arm

hw.cpu.model=cortex-a8

hw.dPad=no

hw.device.hash2=MD5:6930e145748b87e87d3f40cabd140a41

hw.device.manufacturer=Google

hw.device.name=Nexus 4

hw.gps=yes

hw.keyboard=no

hw.lcd.density=320

hw.mainKeys=no

hw.ramSize=1907

hw.sdCard=on

hw.sensors.orientation=yes

hw.sensors.proximity=yes

hw.trackBall=no

image.sysdir.1=system-images/android-16/default/armeabi-v7a/

skin.dynamic=yes

skin.name=768x1280

skin.path=768x1280

tag.display=Default

tag.id=default

vm.heapSize=64



중요한건, 위에서 빨간색으로 표시한 부분인데, 그 아래에 아래와 같은 내용을 추가해 줍니다.


image.sysdir.2=system-images/android-16/armeabi-v7a/


이제, 아래와 같은 형태가 되겠ㅈ?


avd.ini.encoding=ISO-8859-1

abi.type=armeabi-v7a

avd.ini.encoding=ISO-8859-1

disk.dataPartition.size=200M

hw.accelerometer=yes

hw.audioInput=yes

hw.battery=yes

hw.camera.back=none

hw.camera.front=none

hw.cpu.arch=arm

hw.cpu.model=cortex-a8

hw.dPad=no

hw.device.hash2=MD5:6930e145748b87e87d3f40cabd140a41

hw.device.manufacturer=Google

hw.device.name=Nexus 4

hw.gps=yes

hw.keyboard=no

hw.lcd.density=320

hw.mainKeys=no

hw.ramSize=1907

hw.sdCard=no

hw.sensors.orientation=yes

hw.sensors.proximity=yes

hw.trackBall=no

image.sysdir.1=system-images/android-16/default/armeabi-v7a/

image.sysdir.2=system-images/android-16/armeabi-v7a/

skin.dynamic=yes

skin.name=768x1280

skin.path=768x1280

tag.display=Default

tag.id=default

vm.heapSize=64



이제 저장하고, AVD 매니저에서 해당 안드로이드 가상머신을 선택하고 [Start] 버튼을 눌러봅니다.

에뮬레이터 시동 잘 하고 있다고 나오네요...


안드로이드 에뮬레이터가 드디어 나타났습니다.


그런데... 여전히 안드로이드 에뮬레이터는 정말 느리네요. 안드로이드는 역시 실기기에서 개발을...


여튼 이런 방식으로 해결되었습니다. 


단순히 디폴트 상태에서 저렇게 잘 돌아가아 할텐데, 구글에서 좀더 신경을 써줬으면 하는 바램이 있네요.


참고로, config.ini 파일은 AVD 매니저에서 해당 에뮬레이터 설정을 수정할때마다 다시 지워져 버립니다. 다시 해줘야 되요. ㅡ,.ㅡ




끝.