안드로이드 스튜디오 Build Error 발생시 해결 법

Mgmix

·

2020. 1. 4. 22:46

안드로이드 개발을 하면서 안드로이드 스튜디오 IDE 에서 갑작스레 프로젝트 내의 클래스들이 'Unresolved Reference'로 Warning 이 뜨는 경우나, 코드 파일을 열었을 때 XML 또는 Gradle의 내용이 보이는 경우가 있습니다.

 

이 외에도 안드로이드 스튜디오를 사용하면서 프로젝트가 아닌 IDE 의 문제라고 의심되는 경우가 종종 있는데, 이럴 때 해결할 수 있는 방법들에 대해 적어 보겠습니다.

Android Studio Build Error 해결 방법

1번 부터 간단하게 해결할 수 있는 방법 들로, 대부분의 경우 1, 2번의 과정으로 해결이 됩니다. 프로젝트가 Build 될 때의 속성이나 설정 값들에서 데이터 충돌이 일어나는 경우에 3, 4 과정을 통해 해결이 되었습니다.

 

1. Clean / Rebuild Project

 

메뉴의 Build 탭에서 선택

Clean Project 과정은 안드로이드 스튜디오에서 매번 컴파일 할 때마다 생성하는 /app/build의 build 디렉터리를 삭제하는 과정입니다.

 

 

2. Android Studio Invalidate and Restart

 

메뉴의 File 탭에서 선택

선택하면 나오는 팝업 창에서 'INVALIDATE AND RESTART'를 선택해 주면 됩니다. 

안드로이드 프로젝트는 많은 캐시 파일을 생성하는데, 어떤 특정한 경우에 이 부분에서 문제가 생기는 경우가 있습니다.

이런 상황에서 사용하면 생성된 캐시 파일을 제거하고 재 시작하도록 도와줍니다.

 

※ 주의 사항 Cache를 삭제하는 것이기 때문에, 작업 중이던 프로젝트의 Local History 등도 같이 제거될 수 있습니다.

> 관련 Jetbrain 사의 설명 https://www.jetbrains.com/help/idea/2016.1/cleaning-system-cache.html?origin=old_help

 

 

3. Delete .idea and all .iml files

 

1. 안드로이드 스튜디오를 종료한다.

2. 프로젝트 폴더에 들어가 .idea 폴더를 제거한다.

3. 디렉터리 내 검색을 활용하여, 프로젝트 내에 .iml 확장자를 가진 파일들을 제거한다.

4. 안드로이드 스튜디오를 실행한다.

 

- .idea 폴더에서 관리하는 정보 

 프로젝트 내의 코드 스타일 정보, 마지막으로 열어본 작업 위치 등 작업 관련 정보와, gradle이나 java의 로컬 경로 등에 대해 관리합니다. 자세한 설명은 아래 링크의 관련 블로그 글을 참조 바랍니다. 

> https://proandroiddev.com/deep-dive-into-idea-folder-in-android-studio-53f867cf7b70

 

- .iml 파일은 무엇일까?

inteliJ IDE에서 생성되는 module 파일로, Android, Java, Plugin, Maven, Kotlin 등등 개발에 관련된 모듈 정보와 모듈의 경로와 설정 등에 대한 정보를 XML 형태로 담고 있습니다. 간단하게 말해서 Android Studio에서 사용하는 모듈 설정 정보입니다.

파일을 삭제하더라도 Android Studio 에서 자동적으로 생성하기 때문에 걱정하지 않으셔도 됩니다.

 

 

4. Delete Caches folder

 

안드로이드 스튜디오를 종료한 후에, 안드로이드 스튜디오가 설치되어있는 경로에 들어가 caches 파일을 삭제합니다.

일반적으로 C 드라이브에 설치했다고 가정했을 경우에 

 

C:\Users\사용자명\.AndroidStudio3.5\system\caches 의 경로에서 'caches' 폴더를 제거합니다.

 

이후 안드로이드 스튜디오를 실행합니다.

 

이 또한 위에서 제거되지 않은 캐시를 제거하는 과정을 통해 해결하는 방법입니다.