This is the most common error encountered while working with Android Eclipse ADT or Android Studio IDE. You get this error if R.class file is not generated under gen folder, this file is auto generated every time the build happens, if there is any error encountered while build you get R Cannot Be Resolved to a Variable.
There are many reasons that may cause this error. I am trying to list down as many reasons as I can to my knowledge.
1. R.java Class Import
Check if android.R import statements are present in any of your Java files under src folder, it is not required as R is static class, but many a time we do Ctrl + Shift + O which causes this import statement being added.
Eclipse somethings cries for these imports but just don't add them, the problem is due to some other stuffs like layouts or drawables.
Drawables (images) or xml's contained here are the real culprits most of the times for such issues. You won't even see a red error cross displayed over the drawable folder (but if you clean and build your project you would find the error messages displayed under logCat console)
- All file names must be in lower-cases
- Files under drawables must not contain any special characters other than _ (underscore)
- Files must not contain numeric values.
Check that images and XML files follows the below mentioned naming conventions,
Even Check if the resources that you have referred in the project are actually present in the res folder.
If you have changed the package name for your app in the Manifest file, this may not generate R.class resulting in such a error. Make sure you clean and build.
4. Check Order of Export
- Right-Click on you project
- Project Properties
- Java Build Path
- Order and Export
5. Check if Android Target is set.
- Right-click on your Project Folder.
- Select Properties.
- Select Android.
- Check the box next to appropriate Project Build Target.
- Click Apply and OK.
6. Clean and Build the Project!
This is the first thing you must try, sometimes the resources are not compiled correctly. Many a times it works Clean and Build.
Sometimes Auto-clean option is disabled causing this error.
7. Android tools - Fix Project Properties
This sometimes works,
- Right-Click on your Project Folder.
- Select Android tools - Fix Project Properties.
If you have tried all the above solutions and still the issue persists then try restarting eclipse, believe me it works.
Hope it helps!