R.java 파일 생성 오류 해결책
안드로이드로 개발하다보면 R cannot be resolved to a variable 오류를 상당히 많이 접한다. 아무리 안드로이드에 익숙한 개발자도 프로젝트 당 최소 한두번은 경험할 것 같다. 꽤 잦은 오류인데, 이유는 여러가지가 있다. 단순히 Clean을 하면 되는 문제부터 시작해서 프로젝트 전체를 뜯어고치거나 이클립스자체를 새로 설치해야 되는 경우도 왕왕 있었다.
그런데 최근 겪은 R.java 파일 생성 오류는 그 정도가 지독했다. 일단 초보들이 자주 실수하는 문제인 XML 파일명 혹은 XML 문법 오류는 아니었다. 모든게 제대로 되어 있었는데다, 어플 빌드까지 제대로 됐다. 어플빌드를 확인하고 나면 Clean을 눌러주는 버릇이 있었는데, 이렇게 Clean을 하고 나니 갑자기 익숙한 R cannot be resolved to a variable 오류가 났다.
XML의 모든 문법과 철자 하나하나까지 다 뒤져봤는데도 오류가 해결이 안되서, 결국 이클립스를 다시 설치했는데도 불구하고 여전히 해결이 안되는 것이다. 프로젝트의 src, res, libs 폴더를 제외하고 전부 날려버린 다음에 다시 import를 시켜도 여전히 에러가 있는 것이다.
도대체 뭐가 문제인지 답이 안나와서 조사를 좀 해봤더니, stackoverflow.com에서 찾은 검색결과에 따르면 ADT Rev. 22.0.0의 에러였다.
I assume you have updated ADT with version 22 and R.java file is not getting generated.
If this is the case, then here is the solution:
Hope you know Android studio has gradle building tool. Same as in eclipse they have given new component in the Tools folder called Android SDK Build-tools that needs to be installed. Open the Android SDK Manager, select the newly added build tools, install it, restart the SDK Manager after the update.
stackoverflow.com
빌드 툴이 새로이 생긴 듯 한데, 이게 없을 경우 R.java 파일이 제대로 생성되지 않는 오류가 있다고 한다. 해서, 실제로 Android SDK Build-tools를 설치하니 문제가 말끔히 사라졌다.
이 글을 읽는 R.java 생성 에러에 걸린 개발자라면, 일단 res폴더의 XML의 문법 오류와 XML 파일 이름 오류(소문자와 언더바 기호만 사용할 것)가 없는지 확인하고, 그래도 오류가 해결되지 않는다면 SDK Manager에서 Android SDK Build-tools가 설치되어 있는지 확인해 보길 바란다.
댓글 23
와 해결 안될것 같은게 해결됬내 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 감사랍니다 복받으세욥
대박 감사!!
으아…감사합니다.
감사합니다. 작년에 포스팅 하셨는데 오늘도 유용한 솔루션이 었습니다.
잊지 않고 찾아와 주셔서 감사합니다 :D
도움이 되셨다니 정말 기쁘네요.
아아아아 자칫하면 전체를 갈아엎을 뻔 했네요~ 한달 반짜리 프로젝트라 죽을뻔…
빌드에러 때문에 하루에 수십번을 갈아엎어본 적이 있는지라 그 마음 충분히 이해가 가고도 남습니다. ㅠ_ㅠ 해결되셨다니 다행이네요!
와와… 몇일내내 고생하다가 검색해서 찾고찾고 ㅠ_ㅠ
정말 감사합니다 저 이유일 줄은 몰랐어요!
제가 api 19까지 받았긴했지만 업뎃은 제대로 안했거든요 API15만 사용하려해서요..
그랬는데 SDK 19관련 Build-tools 업뎃 받으니 되네요!
너무너무 감사합니다.ㅠㅠ 이제 헬로월드 빨강딱지가 사라졌어요!
헬로월드 예제부터 에러가 나셨으니 당황하셨겠네요 ㅋㅋㅋ
해결되셨다니 다행입니다.
우왕ㅋ굿ㅋ 해ㅋ결ㅋ 님ㅋㅋ짱ㅋㅋㅋ 사랑함ㅋㅋ
ㅋㅋㅋㅋㅋㅋㅋ 별말씀을요 ㅋㅋㅋ
덕분에 문제를 해결했습니다.
감사합니다.
도움이 되셨다니 기쁘네요.
아 하루종일 작업하다가 clean 눌렀는데 갑자기R cannot be resolved to a variable 오류 뜨면서 안되길래 이것 저것 다해보다가 이 블로그 들어와서보고 업댓 했는데 말끔히 사라졌네요 ㅠㅠㅠㅠㅠㅠ 감사합니다 ㅠㅠㅠㅠ
저와 동일한 증상을 겪으셨군요. 해결하셨다니 다행입니다!
android sdk tools rev 22.2.1 android sdk platform-tools rev 18.0.1 android sdk build-tools rev 18.1.1 각각 최신버전으로 업데이트 되었는데도 R.java가 생성이 안되네요…기존프로젝트는 그대로 두고 새로 Test라는 프로젝트를 만들어도 R.java 생성이 안됩니다. 새로 생성된 Test프로제트는 xml파일 한개와 java파일 한개..에러를 찾아볼것도 없는데 R.java가 생성이 안되네요… 왜 그럴까요…ㅜㅜ
우선 프로젝트를 Clean 해 보시고, 그래도 안된다면 XML 문법 오류를 확인해보세요. SDK과 빌드툴이 모두 업데이트된 상태라면 XML 문법 오류일 가능성이 높고, 만약 아니라면 이클립스 내부적인 문제일텐데 보통 Clean 하면 해결됩니다.
오랜만에 안드로이드 작업하려고하는데 안되길래 상당히 당황했었는데요 ㅎ 덕분에 잘해결하였습니다..
잘 해결하셨다니 다행입니다! :)
으아아악 감사합니다..
3개월만에 안드로이드 개발 들어가보니 처음에 알
에러뜨고 아무리 보고 또봐도 에러 안풀리길래
블로그 몇십개 뒤져보다가 겨우 찾앗네요..
1.xml확인 안됨
2.프로젝트 클린 안됨
3.타겟 다시잡아라 안됨
4.대문자 확인 안됨
5.업그레이드가 문제엿습니다.. 감사합니다. 꾸벅..
저도 처음에 엄청 해맸었습니다. 프로젝트 지우고 소스파일 다시 집어넣은다음에 재빌드해보기도하고 이클립스 재설치해보기도 하고…… 아직 모르시는 분들이 많을거라 생각해서 글을 적었는데 제 글을 보고 문제를 해결하고 가시는 분들이 많아 기분이 좋습니다.
우와ㅜㅜ
며칠내내 고생하다가.. 우여곡절끝에 포스팅 찾아와서 해결했어요…
구글에서 좀더 위에 포스팅 해줬따면 바로 끝났을텐데..
너무너무 감사합니다!!
댓글 잘안다는데.. 굳이 찾아서 남겨요 ㅋㅋㅋ
도움이 되셨다니 저도 기쁘네요 :)