cannot resolve symbol R on android studio
문제의 개요
책 보면서 코딩 하다가 빌드를 해보니 에러 발생..
출력 되는 에러 메세지가 엄청 나길래 뭔가 했더니만
이런 식으로 보여짐.. 찾아 보니 일명 ”R”에러!!!!!
해결책
1. xml 파일 오류 확인
내가 낸 문제는 아니었지만 xml 파일에 오타가 있다면 발생 할 수 있다고 함
2. Android SDK Build-tools 가 설치 되어 있지 않을 경우
Android SDK Manager 에서 ”Android SDK Build-tools”가 설치 되어 있는지 확인 해 볼것
설치가 되어 있지 않다면, 설치 하도록
역시나 이 문제는 아님
3. 파일이나, 안드로이드 스튜디오의 환경 구성(설치 및 설정)에 문제가 없을 경우
- Build -> Clean Project
혹시 이것으로도 불가 하다면
- File -> Invalidate Caches / Files 를 실행하여 열리는 대화창에서
”Invalidate and Restart”를 클릭하면 된다고 함
보통은 여기 까지의 과정으로 대부분 해결을 본 듯 하지만
나는 여전히 에러가 발생함 ㅜㅜ
내가 무슨 전문가도 아니고.. 이제 막 책보고 뭔가 해보려는 상황에서 당황하지 않을 수 없군;;;
가만히 생각해보니.. 프로젝트 내에서 모듈을 생성할때
안드로이드 버전 같은 것을 선택해 줬던 것이 문득!
(이게 책에서는 나오지 않았던 항목… )
실습 중인 내용이 안드로이드 4.0.4 기반에서도 작동하는 설정 이었으므로,
무심코 해당 화면에서도 4.0.4를 일부러 변경 선택 해준 것이 기억남
찾아보니 ”Project Structure”라는 설정으로
프로젝트 내에 추가로 생성하는 모듈에 대해서도 각각의 설정 값이 존재하는 형태.
내가 선택 했던 내용은
요렇게 되어 있음.
이것을
요렇게 변경 해주니 문제가 사라짐.. 아아~~~~~
이게 기본값이자 문제 없는 설정 이었던 것(같음)
이것 이전에 실습 했던 두개의 모듈은 무심코 ”다음”을 선택하여 기본값을 사용해서 문제가 없었는데..
마침 이것만 한번 변경을 해봄.. ㅋ
내가 학습 하는 환경의 SDK Manager 는
이와 같이 SDK Build-tools 의 버전이 23.0.2 버전이기 때문에
Project Structure 의 설정중 ”compile sdk version”과 ”build tools version”의 버전이 맞아야 했던 것은 아닐까 싶다.
물론 지금 책 한번 펴본 상황에서 예상한 내용이라.. 정확한지는 아직…
결론은 ”선무당이 사람 잡는다”