Android 개발 Warning과 Error
- Android Cannot resolve Symbol R
R파일 오류 해결 방법
안드로이드 오류 중 가장 짜증나고 왜?싶은 오류다.
당장 오류가 떴을 때
해결책이 명확하지 않은 게 문제이다.
R파일이란?
: R파일은 여러 리소스들 즉 이미지, 아이콘, 레이아웃 등등에 접근할 주소값을 자동생성해서 가지고 있는 파일이다.
그래서 혹시 저 파일 이름에 오류가 있는 경우에도 R 파일 오류가 뜬다.
주의 1>
리소스 파일의 이름에는 대문자나 특수문자가 허용되지 않는다.
특히 이미지 파일을 넣을 때
파일 이름에 대문자가 들어가거나 숫자로 시작하면 안 된다.
주의 2>
또 주의 할 점은
오류 부분에 마우스를 올리면 왼쪽에 뜨는 해결책을 클릭하지 않도록 한다.
그 해결책에서 설정하라는 R 파일은 우리가 고쳐야 할 R 파일이 아니다.
주의 3>
또한 Manifests 파일에서 점, 괄호 등도 확인해본다.
다음과 같이 점을 써줘야 하는데 빠트리는 경우도 있다.
MainActivity 앞에 . 을 확인하자.
또한 특정 리소스 파일을 삭제했는데
만일 그게 필요한 경우라면 당연히 오류가 뜰 수 있다.
그래서 리소스 파일을 삭제할 때는 항상 백업을 해두는 습관이 중요하고
해당 리소스 파일이 자바 파일 내에서 사용되는지 꼭 확인해두자.
이렇게 우선 오타 확인, 제거 파일 확인 등을 해 본 후
다음 과정을 거쳐본다.
그럼 해결 방법들을 알아보자.
1. 가장 간단한 방법
[Build] - [Clean Project] 실행 후
[Build] - [Rebuild Project] 실행해보기
고작 이정도로 안 고쳐질 확률이 높지만,
가끔 간단한 경우에는 되기도 한다.
2. 재시작 방법
[Build] - [Invalidate Caches / Restart]
이 방법으로도 고쳐지지 않는다면
업데이트를 체크해본다.
3. 업데이트 체크 후 다운그레이드
아주 최근 sdk나 gradle 업데이트를 했다면
다시 다운그레이드를 해보자.
최근에도 gradle 업데이트를 했다가
Activity 파일로 돌아가니까
망할 빨간 색이 쭉 뜨면서
Cannot resolve symbol R 가 뜬 적이 있다.
gradle 버전을 이전 버전으로 다시 내려주니까 정상적으로 돌아왔다.
이렇게 여러 방법으로 해봐도 안 되면
미처 발견하지 못한 오탈자나 네이밍 규정 오류일 가능성이 사실 가장 높다.
군대 탄피찾기 게임이 시작되는 것이다.
댓글