Joe Dugan
Joe Dugan

Reputation: 119

"R cannot be resolved to a variable" error goes away after building project

I am getting the "R cannot be resolved to a variable" error all of a sudden. I read another thread on this issue and it says to update the android build tools to make the error go away but that did not fix it. But for some reason the error goes away when I build the project.

What is going on here?

Upvotes: 4

Views: 2649

Answers (5)

Whats Going On
Whats Going On

Reputation: 1397

This Will Happen when Your Eclipse has more Than 10 projects...

I faced this problem in New Work space also which have only one project..

So only one solution when you Running/Debugging an android Application..

Before that You need to do

1.Save all Files.

2.Clean clean clean the projects in work space..

3.after Cleaning wait for 5sec. then Run your app..

there are some references

1. how-to-solve-r-cannot-be-resolved-to-a-variable

2.r-cannot-be-resolved-to-variable

But If you get this error I suggest 2 things

1.Cut and paste src(.java) and resource(xml layout) files and then Save all together

or

2.You need to Build Your Project in New Work Space..

or

3.and check this import android.R; for every java file..

Follow This Procedure..So that Error Will be no more..

Upvotes: 0

Avijit
Avijit

Reputation: 3824

I found this happening to me with a broken layout. No need to be worry. I am trying my best to giving you the solution:

Solution:

  • Make sure that anything the R. links to is not broken. Fix all errors in your XML files. If anything in the ADKs are broken, R will not regenerate.

  • If you somehow hit something and created import android.R in your activity, remove it.

  • Run Project -> Clean. This will delete and regenerate R and BuildConfig.

  • Make sure Project -> Build Automatically is ticked. If not, build it manually via Menu -> Project -> Build Project .

Wait a few seconds for the errors to disappear.

If it doesn't work:

  • delete everything inside the /gen/ folder

If it still doesn't work:

  • try right-clicking your project -> Android Tools -> Fix Project Properties.

Check your *.properties files (in the root folder of your app folder) and make sure that the links in there are not broken.

Right-click your project > properties > Android.

Look at the Project Build Target and Library sections on the right side of the page. Your Build Target should match the target in your AndroidManifest.xml. So if it's set to target 17 in AndroidManifest, make sure that the Target Name is Android 4.2. If your Library has an X under the reference, remove and re-add the library until there's a green tick. This might happen if you've moved a few files and folders around.

What to do if R doesn't regenerate

  • This usually happens when you have a broken xml file.

  • Check errors inside your XML files, mainly within the /res/ folder

  • Common places are /layout/ and /values/ especially if you've changed one of them recently

  • Check AndroidManifest.xml, I find that often I change a string, and forget to change the string name from AndroidManifest.xml.

  • Check that Android SDK Build-tools is installed. Window->Android SDK Manager->Tools->Android SDK Build-tools

  • Make sure when you update the Android SDK Tools, you also update the Android SDK Platform-tools and Android ASK Build-tools. Build fails silently if they don't match.

If you can't find the issue:

  • right click /gen/ -> Restore from local history... -> tick R.java -> click Restore. This doesn't solve the problem, but it will clear out the extra errors to make the problem easier to find.

Hope it will help you. :)

Upvotes: 5

rajshree
rajshree

Reputation: 800

Are you importing the android.R or the one in your own project? you are doing mistake in your xml files.,check your xm lfiles.

Are you sure your own R.java file is generated? Mistakes in your xml views could cause the R.java not to be generated. Go through your view files and make sure all the xml is right!

Upvotes: 0

user3264399
user3264399

Reputation: 284

Try following,

  • Open your activity file
  • Search for this line import android.R;
  • Delete that line
  • Clean the project
  • Done.

Upvotes: 0

Fate Chang
Fate Chang

Reputation: 207

Did you check the Build Automically in eclipse's Project menu?

Upvotes: 1

Related Questions