问题
This question already has an answer here:
- Developing for Android in Eclipse: R.java not regenerating 64 answers
I am doing the Notepad tutorial, exercise 2. I started by creating a new Android project and chose Create from source to import the downloaded source files for the excercise.
But now I get many errors in Eclipse, and the problem is that there is no generated R.java
class. How can I solve this? The folder gen/
is empty.
I have errors on Notepadv2.java
and in res/layout/note_edit.xml
and both seems to be related to the fact that the generated R.java
is missing.
Here is my import
statements in Notepadv2.java
:
import android.R;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
They are created by the Eclipse command Ctrl+Shift+O.
回答1:
Go to Project
and hit Clean
. This should, among others, regenerate your R.java file.
Also get rid of any import android.R.*
statements and then do the clean up I mentioned.
Apparently Jonas problem was related to incorrect target build settings. His target build was set to Android 2.1 (SDK v7) where his layout XML used Android 2.2 (SDK v8) elements (layout parameter match_parent
), due to this there was no way for Eclipse to correctly generate the R.java file which caused all the problems.
回答2:
After one whole day trying to find why R file was not generated, I found that after install Android SDK Tools r22 a new option in Tools was available: Android SDK Build Tools.
After installing it R file was generated again.
回答3:
now you have imported android.R
instead of your own R... Try to take a look on your "problems" view if you have errors in one of your xml files... get rid of the import android.R
and comment out all usages of R.*
Cleaning should help when your project has no other errors, so check your xml files or file naming in your res folders
回答4:
Probably u might be using a incorrect SDK version. Right click on your project. Select Properties-->Android. Note that 2.2 is the latest SDK. Check it and see if it gets compiled...
Edit
Also Do a clean after that
回答5:
I Had a similar problem
Best way to Identify this problem is to identify Lint warnings::
*Right Click on project
> Android Tools
> Run Lint
: Common Errors
*
- That helps us to show some errors through which we can fix things which make R.java regenerated once again
- By following above steps i identified that i had added some image files that i have not used -> I removed them -> That fixed the problem !
Finally Clean the project !
回答6:
I colleague of mine has this problem - a restart of eclipse fixed it.
回答7:
Update Android SDK Tools in Android SDK Manager for revision 22.0.1. It worked for me.
回答8:
- Remove the 'import R.java' line from your code. Its done by Eclipse in order to solve the problem.
- Go to "note_edit.xml" file. Wherever you find "match_parent" as an attribute value, replace it with either "fill_parent" or "wrap_content".
- Do a clean build. R.java will be generated automatically.
If you got this problem, it means "match_parent" property is not supported in your content. Instead, "fill_parent" is used.
"fill_parent: The view should be as big as its parent (minus padding). This constant is deprecated starting from API Level 8 and is replaced by match_parent. "
回答9:
Do you have installed the android plugin ?
Your project must be of the android type.
回答10:
This is actually a bug in the tutorials code. I was having the same issue and I finally realized the issue was in the "note_edit.xml" file.
Some of the layout_heigh/width attributes were set to "match_parent" which is not a valid value, they're supposed to be set to "fill_parent".
This was throwing a bug, that was causing the generation of the R.java file to fail. So, if you're having this issue, or a similar one, check all of your xml files and make sure that none of them have any errors.
回答11:
I just had a problem where a previously working project stopped working with everything that referenced R being posted as errors because R.java was not being generated.
** * CHECK THE CONSOLE VIEW TOO **
I had (using finder) made a backup of the main icon (not even used) so one of the res folders (hdpi) had
icon.png copy of icon.png
Console indicated that "copy of icon.png" was not a valid file name. No errors were flagged anywhere else - no red X in the res folders....
but replacing the spaces with "_" and it is all back to normal....
回答12:
I have faced this issue many times. The root problem being
- The target sdk version is not selected in the project settings
or
- The file default.properties (next to manifest.xml) is either missing or min sdk level not set.
Check those two and do a clean build as suggested in earlier options it should work fine.
Check for errors in "Problems" or "Console" tab.
Lastly : Do you have / eclipse has write permissions to the project folder? (also less probable one is disk space)
回答13:
I've also experienced such issues as R.java
being missing, and also eclipse complaining there are errors in my code (displaying red X icon against class files) when there were no errors.
The only method I've found for solving this is to clean the project by selecting Project > Clean
This seems to solve the issue for myself, running Eclipse 3.5.2
回答14:
yeah i have the same problem.i fixed it by selecting Project from the tool bar clean the project also reset the build automatic option some times needed to change the name of xml file match format [a-z][0-9] capital letters must be changed
回答15:
It seems that when you change to the latest SDK (2.2) building no longer generates an R.java file. Or at least not in the way we're used to. To solve this delete the package underneath the gen folder and clean without building. This solves the issue for me.
回答16:
I've got that problem because of some internall error in Android plugin. When I've tried to open some layout xml, I've got error:
The project target (Android 2.2) was not properly loaded.
Fortunatelly in my case restarting Eclipse and cleaning the project helped.
回答17:
This could also be the problem of an incorrect xml layout file for example. If your xml files are not valid (containing errors) the R file will not re-generate after a clean-up. If you fix this, the R file will be generated automatically again.
回答18:
According to my experince i can summarize :
1.The problem is mainly refering to syntax issues that can be occured on xml files.
2.You might copy the AndroidManifest.xml accidently to subfolders .
1.One file is an extension undefined .
After checking all of these Go to Project->Clean or just remove the /bin and /gen folders.
回答19:
Just Restart the Eclipse will solve this Issue as the workspace will be freshly Build ! go to
File -> Restart
Its the easiest way to avoid frustration by going it into Build,properties,blah blah.....
回答20:
Here's another one: I was just about to cry, but managed to get my beloved R.java
back:
I hadn't updated anything in my Android installation for quite a while. I needed a feature and ran the SDK Manager. Besides what I needed I basically checked everything it wanted to update. Afterwards my R.java
disappeared in Eclipse.
To make it short, in the SDK Manager there was a new entry "Android SDK Build-tools" that I guess wasn't there the last time I had updated. It's kind of an obvious name, really. After I installed that one Eclipse gave me my R.java
back.
回答21:
java .... than debug.. or Remove the 'import R.java' line from your code. Its done by Eclipse in order to solve the problem. Go to "note_edit.xml" file. Wherever you find "match_parent" as an attribute value, replace it with either "fill_parent" or "wrap_content". Do a clean build. R.java will be generated automatically
来源:https://stackoverflow.com/questions/4085959/no-generated-r-java-file-in-my-project