Question

Recently I have been having quite some problems with R.java file. Now I have decided to do a backup and delete the file to see what happens.

Nothing happened, so I created an empty R.java file and hoped for the best. Now Eclipse seems to figure out that the file was tampered with and even issues a warning:

R.java was modified manually! Reverting to generated version!

And that's all there is. I tried building it manually but got no results.

So, I have two questions:

  1. what should I do to force Eclipse to regenerate the file
  2. what is happening here? How is the file created, where is the code that is generating the file?

I would appreciate any help. As usual the problem occurred just a few days before the deadline :)

Was it helpful?

Solution 4

I found the problem - I have created a 9patch image with the patch area defined only on the Y axis (I was trying to prevent resizing on the other one).

The question remains: Why isn't there a warning about the error? Or if there is - where is it buried?

OTHER TIPS

I had a problem getting my Android app to compile, with seemingly inexplicable errors about failure to generate R.java.

The problem was caused by my previously killing the Android emulator during the build. Don't do that! A clue was the appearance of several left over *.out.xml files.

The solution was to select the project, click Project->Clean, and then manually delete all the *.out.xml files. Only then could I click Run->Run and have a successful build.

One more thing: I'm using Eclipse. I had to make sure that the project was selected in Package Explorer, and not just some random source file. Easy to not notice!

R.java is autogenerated on build. It's content is based on the resource files (including layouts and preferences).

When you deleted it, it was recreated, but if you create your own, you will get into trouble as the build system will not replace it.

You can simply delete it again (manually or by choosing Project->Clean) and rebuild your program.

I had this problem several times, and most of the times it is caused by some mistake in the "res" files, check everything is OK in all your res files, mainly XML, and after you can built.

For example, two common causes of this problem can be:

  • Didn't properly spell the name of a property in a Style in a XML file.

  • Didn't properly close a string in the XML of a locale file.

Sorry, but try to check the output in Eclipse. May be you have some errors that prevents Eclipse to finish build proccess(check your AndroidManifest.xml, is it correct?).I mean, that you should check all your resource files(string.xml, layouts, ...) and interfaces(*.aidl), may be there are some problems(inconsistent syntax, or something....) that prevent eclipse to generate R.java.

I had the same issue and it was that I had named a resource file (a .png image) using uppercase letters. (ImageButton001.png instead of imagebutton001.png).

Afther changing the name of the file my R.java came back.

Rgards, Juan

If there's insufficient free memory the build tool will silently fail (Eclipse will not show any errors or report anything in the error log). Close your other open applications (e.g. the emulator and browser) then add a space to the application manifest file and save it.

As ponkin stated - you probably have one single problem that causes R not to re-generate itself, because of which you now have one million and one problem.

Do not try to create R class yourself. Try to think of the last XML you've been messing with, and check it for errors

I've had the same problem here

Make sure there are no errors is your Manifest file. If you delete the resource string app_name in /res/values/strings.xml, it doesn't know how to generate R.java right. I found this a problem when doing the HelloSpinner tutorial.

I found that an unwanted resource was causing an issue. As soon as I deleted the resource R.java was generated.

I've had this problem, to rebuild R.java I cut the code in the xml file I've just been working on (or try others if this doesn't work), deleting the file then creating another with the same name and pasting the code back into it. Hope this helps.

Something that can be good to know is that if an XML file contains a ?, then R.java is not regenerated and the error is not shown in the XML file (sometimes it shows up after a while) I you have a line similar to:

< string name="questionmark"\>?< /string> <br>

try to change the ? to something else and see what happens to the R.java file - worked for me

I had a similar problem, I had renamed a .wav file in the Raw folder with a capital letter. When I changed to all lower case, cleaned the project and it rebuilt R.java fine.

As others stated, stay away from creating your own R.java file. I ran into the same problem when I first started with Android, and it took some time to figure out what caused by compilation errors.

What were you trying to do with the R.java file?

I had the same problem. I just went to:

Project -> Properties -> Android 

and chose the right Emulator for my project, I had 3 different to choose from in that moment. I realized that i changed the Emulator in some given moment. So try to change the Emulator, that might help!

Good luck

I had the same issue with IntelliJ. The problem was that I had app_name defined twice in strings.xml For some reason, IDEA inspections didn't pick this up automatically.

I read this on another site and it helped me:

"If that doesn't fix your problem, try modifying your AndroidManifest.xml (just add a space and save). I've heard that will force the R.java to rebuild. "

So just add a space in the manifest file and then rebuild!

As a side note, usually those *.out.xml files are generated by trying to build your project whilst an xml file is focused in the editor

I had similar problem.Cleaning project didn't solve the issue and there was no error in the code or the uppercase or spaces in file names.

The solution was going to a popup window which came when you choose PROJECT-->CLEAN and then UNcheck the "Start a build immediately" option. Clean the project. Close and reopen Eclipse and then build the project (PROJECT-->BUILD).

The question remains why simple clean and build without closing Eclipse didn't worked.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top