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)
Check that images and XML files follows the below mentioned naming conventions,
- 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.
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
Java Build Path
Order and Export
5. Check if Android Target is set.
Right-click on your Project Folder.
Check the box next to appropriate Project Build Target.
Click Apply and OK.
- ERROR x86 emulation currently requires hardware acceleration. Intel HAXM is not installed on this machine
- How to create Toast messages in Android?
- Java: Check Internet connection on Android Device (Wifi or Mobile)
- Change Title text for Android Activity using java code
- Android RatingBar Example
- Android : Execute some code after back button is pressed
- Audio Video Network protocols supported by Android OS Devices
- This class should be public (android.support.v7.internal.widget.ActionBarView.HomeView) Lint Error
- Check Internet Connection WIFI 4G is active on Android Programmatically
- Change Height of Android ActionBar
- Generate Facebook Android SDK keyhash using java code
- How to hide or cancel Toast message in Android Programming
- Make Android Toolbar text center aligned
- How to Disable EditText Keyboard Android App
- How to repeat background image in Android Activity
- How to make Android EditText not editable
- [FIX] AndroidRuntime: FATAL EXCEPTION: main - java.lang.RuntimeException NullPointerException
- Android Eclipse This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in
- How to Add a horizontal line in Android Layout
- Android Disable back button programatically
- 21 Useful Android Emulator Short-cut Keyboard Keys
- Android xml error Attribute is missing the Android namespace prefix [Solution]
- Fixing Android unknown error 961 while downloading app
- Share Image and Text on Instagram from Android App using Share Dialog
- How to add border to Android Button
- Check Bluetooth is turned on or off on Android device programmatically [Java Code] - Android
- How to verify if java is installed on the computer and get version detail - Java
- JSON Syntax : JSON Tutorial - Json-Tutorial
- Android-Failed to install apk on device EOF Timeout Error - Android