안녕하세요 철사마 입니다.

안드로이드 스튜디오를 하면서 황당하게 발생하는 에러가 있어서 해결방법 정리하였습니다.

저처럼 당황해서 놀라지 마시길 바라면서 정리해 보았습니다.. ㅠ^ㅠ




황당한 에러는 디자인 뷰 영역 에러 입니다. 


이게 왜 황당하냐면 디자인 뷰 영역에 어떤 컨텐츠를 넣어도 보이지 않고 위치도 지정할 수 없고 에러만 계속 뜹니다....

빌드하면 제대로 나오지도 않아서 작업을 할 수 가 없습니다..;;;


에러 문구는 아래와 같습니다.


Failed to load AppCompat ActionBar with unknown error.


대충 해석하면... "알수 없는 에러로 AppCompat ActionBar를 로드하지 못합니다." 


난 아무 것도 하지 않았는데?.. 왜 이런 에러를.. 그리고 하단에는 이런 에러 문구가 있습니다.


This view is not constrained. 

It only has designtime positions, so it will jump to (0,0) at runtime unless you add the constraints  The layout editor allows you to place widgets anywhere on the canvas, and it records the current position with designtime attributes (such as layout_editor_absoluteX). 

These attributes are not applied at runtime, so if you push your layout on a device, the widgets may appear in a different location than shown in the editor. 

To fix this, make sure a widget has both horizontal and vertical constraints by dragging from the edge connections.


대충 해석하면... "이 뷰는 강제적인 것이 없어서... 제약 조건을 추가하지 않으면 네가 추가한건 0.0으로 위치합니다. 블라블라.. 네가 원하는 것이랑 다르게 나올 수 있다.. 블라블라.."  당췌 몬소린지..


여튼 아무것도 안하고 프로그램 실행만 누른 입장에서 에러가 뭔가 억울합니다. 

마치 컴맹이 컴터 키고 블루스크린 뜨면 왠지 내 손이 똥손이라 망가진 것 같고 막... ㅠㅠ






하지만! 안심하세요~ 해결은 생각보다 쉽습니다.


우선 아래 위치로 이동해서 명시한 부분의 해당 소스를 수정해 줍니다.


1. Gradle Scripts에서 build.gradle (Module: app) 파일을 더블클릭하여 열어줍니다.

2. 23번 라인 implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'에서 alpha3alpha1으로 수정합니다.



코드를 수정한 화면입니다.


수정을 하면 안드로이드 스튜디오 코드 편집창 상단 우측에 [Sync Now] 라는 바가 생겨납니다.

그 버튼을 눌러서 동기화를 시켜줍니다.


동기화를 눌러주면 동기화가 되면서 이것저것 열심히 적용됩니다.


적용이 다 된후에 다시 레이아웃(Layout) 화면으로 이동해 봅니다.

이제 화면상에 콘텐츠가 제대로 레이아웃에 나타나고 에러도 발생하지 않습니다.


이 오류는 구글 검색해 보니 안드로이드 스튜디오 버그안드로이드 스튜디오 3.1.3 버전 기준에서 다운로드 받으면 발생하는 버그입니다.

앞으로 업데이트되는 버전에서는 해결되어 있을 것 같습니다. (제발~~)




처음 시작하는 초심자 입장에서 아무것도 안했어도 왠지 내가 잘못한 건 아닐까 하는 불안감이 생기는 오류였습니다.

다행히 해결 방법은 어렵지 않지만~~

모르면 아무것도 시작할 수 없는 그런 치명적인 버그였습니다.

쉽게 수정하시고 코딩을 시작해보세요!!



안녕하세요 철사마 입니다.

제가 요 며칠 동안 [안드로이드 스튜디오]에 관심이 생겨서 설치를 해보았습니다.

<이미지 출처 : 구글 이미지 검색>


노트북 용량이 너무 부족해서 공초를 결단! 하고 깔끔하게 시스템을 새로 설치 했습니다. (대단한 각오!)

그런데 다 지우고 깔아서 깔끔한 상태인데도... 기본 설정으로 프로그램을 설치 후 프로젝트를 생성하고 바로 빌드를 눌러보니 암것도 안했는데 에러가 뜨더군요? @_@


(애뮬레이터 실행 아이콘 클릭!)


(알수 없는 에러 발생!)


Emulator: emulator: ERROR: x86 emulation currently requires hardware acceleration!

에러 내용은 "x86 emulation은 현재 하드웨어 가속이 필요해!" 라는 내용 같습니다.

무슨 소린지... 컴퓨터가 느려서 그런건가? 라는 생각을 잠시 해보았습니다.




해당 문구로 Google에 검색을 해보았습니다.

<검색 : text 검색어 입력>



인터넷 검색을 기반으로 방법을 찾아보기로 했고, 해결을 했습니다.

인터넷 검색으론 좀 뒤죽박죽이라 쉽게 정리를 해보았습니다. :)


우선 [Android Studio] 프로그램에 에뮬레이터가 정상적으로 설치 되었는지를 확인해 봅니다.


[Android Studio] 프로그램의 상단 메뉴의 [Tools] > [SDK Manager] 항목을 클릭해 주세요. 


클릭하면 SDK Manager 프로그램이 실행이 됩니다. 다양한 정보들이 보여지게 되는데 그 중에 [Android SDK] > [SDK Tools]를 선택하면 아래의 리스트가 보여지게 됩니다.

하단의 리스트에서 Intel x86 Emulator Accelerator (HAXM installer)가 체크 되어 있고 인스톨 된 상태인지 확인해 봅니다. (빨강색으로 점을 찍어 놓았습니다.)


체크가 없다면 체크를 하고 설치를 해주세요.


이미 체크가 되어 있는 상태라면 다른 문제가 있는 것입니다.


Android SDK가 설치되어 있는 경로가 서로 다를수도 있지만 임의로 바꾸지 않았다면 일반적으로 아래와 같은 경로일 것입니다.

C:\Users\[사용자계정]\AppData\Local\Android\Sdk\extras\intel\Hardware_Accelerated_Execution_Manager



참고로 폴더 속성에 [숨긴 항목] 에 체크를 하지 않았다면 체크를 해주시기 바랍니다. 

보여야 할 폴더가 보이지 않을 수 있습니다. AppData 폴더는 기본적으로 [숨김 항목]으로 설정 되어 있습니다.


[Hardware_Accelerated_Execution_Manager] 폴더로 왔으면 여러 파일 중 [intelhaxm-android.exe] 파일을 실행하여 줍니다.


설치가 완료되면 끝!





그러나... 이렇게 깔끔하게 설치되지 않고 아래와 같이 오류가 발생하는 경우가 있습니다.



이때는 프로그램으로 설정으로는 진행이 어렵고, [BIOS 설정]에 가서 [하드웨어 설정]을 직접 바꿔주셔야 합니다.


Bios 설정은 컴퓨터를 기동하고 F1 or F2를 연타해서 하드웨어 설정으로 진입하여 직접 수동으로 환경설정을 바꿀 수 있는 설정메뉴입니다.


Bois 설정에 들어갔으면 리스트를 잘 찾으셔서...

Intel Virtualization Technology 항목을 찾아 Enabled 해주심 됩니다.


사용자 PC마다 위치나 명시된 언어가 다르게 표현되어 있을 수 있으니 참고해 주시기 바랍니다.

제 PC의 경우는 Check Box 로 설정하게 되어 있었고 Virtualization Technology 라고 명시되어 있었습니다. 


Intel Virtualization Technology 항목을 Enabled로 설정을 완료 하셨나요?

그럼 다시 [Hardware_Accelerated_Execution_Manager] 폴더의 [intelhaxm-android.exe] 파일을 실행하고 설치를 완료합니다. 설치가 잘 될 것입니다.


완료 되었으면 [Android Studio] 를 실행하고 정상적으로 애뮬레이터가 동작하는지 확인해 봅니다.


저는 애뮬레이터의 가상 디바이스로 Nexus 5X를 선택했습니다.



다행히 전과는 다르게 애뮬레이터가 실행이 잘 되었습니다.


코드에 샘플로 적혀 있던 Hello World! 문구 까지 정상적으로 보여집니다. 애물레이터 구동이 잘 되는 것을 확인하였습니다.



애뮬레이터가 실행되고 나서 뒤에 빨강색으로 오류같은 것이 뜨긴 하지만... 애뮬레이터와는 상관없는 것 이겠죵..? ^^;;




전 개인적으로 처음 안드로이드 스튜디오를 실행해 보는데 갑자기 생겨난 생각치 못한 문제라서 답답했습니다.

어디서 정보를 구하기도 어렵고...

아무것도 안했는데 그냥 안되니까 답답하기도 했고요, 조금이나마 도움이 되셨으면 좋겠습니다. :)


이제 시작이네요!! ^^;;

즐거운 코딩 되시길!! 

+ Recent posts