Alex Rivera | Logout

R cannot be resolved - Android error

Asked 2009-05-19T21:02:20.117
1131

I just downloaded and installed the new Android SDK. I wanted to create a simple application to test drive it.

The wizard created this code:

package eu.mauriziopz.gps;

import android.app.Activity;
import android.os.Bundle;

public class ggps extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

but Eclipse gives me the error

R cannot be resolved

on line

setContentView(R.layout.main);

Why?

PS: I do have an XML file named main.xml under res/layout/.

Edit
Report

9 Answers

140

my project have include a r.java.at the beginning ,R.layout.main work good.But,after adding some code it doesn't work,and the error is R.layout.main can't resolved.what's the problem?

Look at your imports. Chances are that the line:

import android.R;

will be there. If that's the case, remove it, so that your project will resolve R not with the default Android Resources class, but with the one auto-generated from your /res/ folder.

answered 2009-07-25T12:12:26.563
29

Close all files, clean project, restart Eclipse.

answered 2010-11-12T09:39:13.930
5

In case anyone is interested (I might be saving your life here), I had the error, R.xml cannot be resolved, slightly different on a GLS project. Hmmmm. After looking in R.java, I found an auto-generated class, XML.java, (I think) was not there.

Solution? It needed a new folder in res: res\xml and a file called default_values.xml in there. Then all was OK.

Just in case you have not got that file, it's:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
</PreferenceScreen>
answered 2010-01-25T15:56:05.187
2

Recently, I faced a similar situation with R that could not be resolved.

  1. Project -> Clean (it usually works, but this time it didn't).
  2. I tried to remove the gen/ folder (which automatically gets built) - nope.
  3. Dummy modifying a file. Nope again. By now I was going grey!
  4. I checked in the AndroidManifest.xml file if appName was present. It was - checked!
  5. Looked again at my res/ folder...

And this is where it gets weird... It gives an error, in some but not all cases..

I added the formatted="false" flag:

<resources>
    <string name="blablah" formatted="false">
    </string>
</resources>

Bingo!

answered 2011-03-01T20:25:04.453
2

I solved it for myself with Window->Preferences->Android and SDK Location: path to adt\sdk e.g. C:\adt\sdk

answered 2013-07-21T13:52:42.887
1

Yet another reason this might happen: Tonight, I met the dreaded error, and eventually discovered an errant mouse drag apparently moved one of my own packages' classes into the hierarchy of another. There is truly no end to the number of ways you can screw yourself in the Eclipse environment.

answered 2012-10-06T04:44:37.247
0

My R file disappeared and wouldn't generate - the console reported this:

[2010-09-22 16:19:40 - myproject] res\drawable-ldpi\downloadNow.png: Invalid file name: must contain only [a-z0-9_.]

So it turned out that resource names cannot have capital letters - confirm that they are all small letters and contain . and _ only

answered 2011-09-22T11:22:43.243
0

i tried most method above , but not work my case

finally i found out the adb lost

for mac os , go to android sdk directory

type ./adb start-server

answered 2013-05-18T03:36:34.863
0

There are two ways that R will an error

1) Problem with your layout file ie xml file

2) If you update adt then the R problem will occure. - you have to check properties for the project - goto->Properties ->Java Build Path -> Order and Export and check for all the lib .

It will solve the problem.

answered 2013-06-12T13:50:35.887

Your Answer