티스토리 뷰

Computer/Android

[Android] R클래스로 인한 오류 해결 방법

인생이글케쉬우냐 2013. 8. 12. 12:14

모든걸 새롭게 하겠다며 신규버전으로 모든 걸 설치하다보니 마음도 새롭다.

 

개발환경은

자바 1.7

이클립스 kepler jee 버전

안드로이드 4.3

이정도만..

 

개발환경 구축방법은 나중에 올리는걸로..

 

 

어쨌던 새롭게 깔고나니 헬로 월드라도 찍어봐야겠는데..

사실 어떻게 굴러가는질 몰라서 일단 프로젝트를 생성해 봐야겠다고 생각했다.

 

New Project>Android Application Project를 눌러 새로운 안드로이드 프로젝트 생성을 했는데

뭔가 어마어마하게 많은 파일들이 생겼다.

그런데 처음부터 MainActivity에 빨간줄이..;;

 

 

 

 

>> 일단 이것은 이 프로젝트에 맞는 R.java 파일이 존재하지 않아서 생긴 문제 <<

보니 자동생성되어야 하는 R.class를 못찾는 문제였다.

 

이건 뭐..

내가 뭘 건드린것도 아니고

프로젝트 생성만 했을뿐인데 빨간줄 뜨니

답답해서 계속 검색질..;;

 

 

 

 

R클래스는 자동으로 생성해줘야하는 파일이므로

gen 밑에 com.example.test 에 생겨야하는데 위에 보는것처럼 내 프로젝트엔 R이 없다.;;;

 

근데 생각보다 쉽게 해결할 수 있는 문제였다.

 

[방법1]

우선 이클립스 상단에 Project탭에서 clean 한 뒤에 build project 또는 build all을 해주거나

아예 Build Automatically를 누르면 된다.

생성된 R클래스에 주석을 보면

/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

라고 적혀있다. 가급적 직접 수정하지 말란다..

 

 

 

 

어쨌던 덕분에 쉽게 생성이 되었다.

 

 

 

 

[방법2]

사실 내 프로젝트는 위에처럼 간단히 처리되진 않았었다.

지금은 쉽게 자동생성이 되지만

처음엔 뭐가 꼬였었는지

R이 자동생성이 되지 않고

MainActivity.java에는 R을 부르는 데마다 계속 빨간줄이..;;;

 

실은 생성된 신규 프로젝트에 R클래스가 없어서

ctrl+스페이스바를 눌러서 억지로 sdk자체내의 R클래스( android.R)를 참조하게 한 것이 문제였다.

여기저기 찾아보다 알게된 사실은

즉, 소스 상단의 import 정보를 지우고 빌드하면 된다는 것.

( 새로 빌드될 R의 패키지 위치를 제대로 import로 적어주면 되는 것 같다.)

 

import android.R;을 지우고

새로 생성된 R의 패키지 위치를 참조하게 한다.

import com.example.test.R;

 

[참조:http://www.androidpub.com/1502840]

 

 

 

R에 대해서 위 두 가지 알아둬야할 것 같아서 포스팅! +_+

 

반응형