R.layout.main cannot be resolved


상당히 골치아픈 에러 중 하나이다.
특히나 안드로이드를 처음 시작하는 사람들에게는 더없이 골아픈 에러가 아닐까.. 게다가 왠지 모르게 안드로이드 SDK가 2.0.1대로 버전업되서 그런지, ADT가 버전업되서 그런지.. 그것도 아니면 AVD가 업되서 그런지는 몰라도 가장 기본적인 테스트 프로그램을 하나 만들면 우선 발생되는 에러가 저거다. 그래서 왠지 모르게 안드로이드 내부에 있는 Android.R을 임포트 해줘도 생기는 에러는 마찬가지.

아, 몇시간의 삽질 끝에 알아냈다. 이럴 경우에는 본래 안드로이드 개발을 할 떄 gen폴더에 R.java파일을 자동으로 생성해 주는데 내가 맥이라서 그런지 안되는 것 같다.(아니면 설정을 잘못했던가.)

해결방법은 다음과 같다.

우선 gen폴더에 대고 마우스 우측 버튼 클릭(맥에선 ctrl+클릭) New->Class 로 들어간다.

Name은 R Package는 자신이 처음 프로젝트를 생성할 때 만들어둔 패키지명을 적는다. 예를들어 프로젝트명이 Hello라면 Hello.java파일의 가장 처음에 package xxx 라고 쓰여있는 부분 중에 xxx를 기입한다.

그럼 R.java파일이 생긴다. 내용을 아래와 같이 바꿔준다.
package com.company.helloandroid;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int icon=0x7f020000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
        public static final int hello=0x7f040000;
    }
}


그리고 저장 후 다시 xxx.java파일(xxx는 프로젝트명)로 돌아온다.
다음으로 이와 같이 방금 만든 Package이름.R 을 import시켜주면 에러는 말끔히 사라진다.

단순한 에러이지만 사실 이것은 결국 원인을 밝혀내지 못한 것이다.. 그런 점에서 아쉬움이 남는 에러.. 나중에 좀 더 숙련자가 되면 꼭 찾아내야지 !!
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 메튜장

트랙백 주소 http://izect.kr/trackback/469 관련글 쓰기

  1.  삭제

    Subject: 모토로라의 새로운 안드로이드폰 Opus One

    2009/12/22 22:15 | Tracked from 〓 Processor's IT Blog 〓

    최근 안드로이드폰 시장에서 가장 활발한 모습을 보이는 기업은 모토롤라입니다. 전세계적인 히트작 RAZR 이후 별다른 재미를 보지 못하고 있는 모토롤라는 최근 적자의 늪에서 쉽게 빠져나오지 못하고 있습니다. 이 때문에, 사업의 지속 여부가 불투명할 정도로 상황이 악화되어 가고 있는 현실입니다. 이러한 가운데, 모토롤라는 스마트폰 시장에 적극적인 투자를 하기로 하였고, 그 중에서도 안드로이드 플랫폼에 올인하기로 하였습니다. 이로 인해 간간히 출시하던 윈..

댓글을 달아 주세요

  1. kanais 2011/05/25 16:52  댓글주소  수정/삭제  댓글쓰기

    덕분에 해결했습니다. 좋은 정보 잘 보고 갑니다.




블로그 이미지
html5,모바일웹,웹앱,자기브랜드,시간관리 등을 다룹니다.
메튜장

Yesterday256
Today29
Total477,767

달력

 « |  » 2012.02
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29