Error: Unable to open class file R.java [duplicate

2019-01-18 08:26发布

问题:

This question already has an answer here:

  • Developing for Android in Eclipse: R.java not regenerating 63 answers

Did a fresh install of Eclipse, JDK and android-sdk.

I am currently receiving this error when creating a new project

[2010-09-26 16:07:56 - Test] ERROR: Unable to open class file C:\workspace\Test\gen\com\example\test\R.java: No such file or directory

What's the reason for this and how do I fix it?

Eclipse Helios 32 bit
java version "1.6.0_21"
Android sdk API 8

P.S. I'm new to Android development.

EDIT: I tried most of your solutions, but nothing worked. So I started using my friend's install of Eclipse Ganymede.

回答1:

I have had same issue, all what I needed to do, was create project and restart eclipse.

//Edit: Complete collapsing of "Package" tree works as well.



回答2:

This is a mighty annoying error.

It happens 100% of the time when I create a new android project.

What seems to work for me is to just delete the file (which DOES exist and is accessible by my user), then hit build, and it will regenerate it and stop moaning.

It's clearly a bug as there are too many people getting it simply by filling in the boxes in the new project dialog (like me) without even modifying any code!



回答3:

Have a look at your console. It is an aapt aborted error. Since aapt is the tool that auto-generates R.java, therefore, R.java was not getting generated.

Since R.java is a auto-generated file that stores information about your drawables you should rebuild your project. Before that have a look at your layout xml files and check them for errors.

Notice that Project -> Build All should be selected. Also try to run your project.



回答4:

Removing Read Only attribute on Eclipse workspace directory and Project->Clean->Build Project did the trick for me. I then clicked on the project directory from within Eclipse and did a F5 (Refresh) . R.java was generated in the gen folder.



回答5:

I had a similar error on the creation of new projects myself. After messing around I tried moving the R.Java file into the same location as my projects java file (the src file). Eclipse then saw I removed the R.Java file from its location and created another and that seemed to clean up the error.....I dont know if it was because eclipse rebuilt the file and then saw it or what but that seemed to work for now.



回答6:

After creating the Project, Right click the Project Folder within the Project Explorer on the Left Tab of Eclipse.

Click on Source->Format.

The Console will say:

[2010-11-24 11:57:42 - YourProject] R.java was modified manually! Reverting to generated version!

Then you're good to go. Try running your Project and it will compile.



回答7:

Check your imports. If this has sneaked in, then delete it.

import android.R;


回答8:

Had a almost identical issue with Eclipse Helios 64 bit on Linux, but I had the "1.6.0" API selected like you. The bizarre thing was I could type;

cat <the path it was moaning about>

in a console it would display correctly.

I created a new AVD which used Android 2.1, the issue magically vanished. Perhaps it's a bug in Android SDK or Eclipse?



回答9:

Right click on your project name in package explorer. Then click 'Validate'. It will be fine.



回答10:

Here is how to fix it: Go to your "workspace" folder and make sure it's not "read-only"



回答11:

Eclipse Menu > Projects > clean



回答12:

Had the same issue.I was able to solve it by doing the following:

  1. go to Window/Preferences/Java/Build Path
  2. select 'Folders' and change the output folder to 'gen' (this is where Android looks for the generated java files,but the default in eclipse is 'bin').
  3. restart Eclipse

Windows 7,Eclipse 3.5.2



回答13:

Configure buildpath.. check android , it worked, of course i followed one of the posts mentioned above window, preferences, java, java build path and selected project, then created a project, and tried to build same error, then i checked build path and saw android is unchecked, checked it and build again, it works!



回答14:

I had this exact same problem with no helpful errors. finally, I tried deleting my debug keystore and it worked:

rm ~/.android/debug.keystore

I had seen people mention that, but I figured it wasn't my problem because I wasn't getting any errors relating to the debug keystore. I found the answer here:

"Debug certificate expired" error in Eclipse Android plugins

apparently the debug keystore is only valid for one year.



回答15:

I would say that once you have created your project and you've mention the R.class error --> just restart the Eclipse IDE and everything will be fine ;)



回答16:

1.-Open Eclipse 2.-Open Window/Preference 3.-Expand JAVA option 4.-Select Build Path 5.-Check the option "Projec"t and uncheck "folder" options 6.-Click on OK 7.-Restart eclipse IDE

Let's go to code !!



回答17:

This problem can be solved by merely cleaning and rebuilding the project. How ever there is a link to the latest version of Eclipse for Android. **Eclipse Java EE IDE for Web Developers.

Build id: 20100218-1602

(c) Copyright Eclipse contributors and others 2005, 2009. All rights reserved. Visit http://www.eclipse.org/webtools**

Here is a link to Android Tutorial with Eclipse http://developer.android.com/resources/tutorials/hello-world.html



回答18:

In mac, I select Project>Clean after that, i unchecked Build Automatically then i run the project and it works :)



回答19:

Windows 7 64bit, run eclipse as administrator, solved the problem for me.



回答20:

In my case there was no gen folder after pressing clear...

To solve it, i created a new gen file, then when to Build Path => Configure Path, and pressed ok.

All went smooth after that :-)



回答21:

Following steps are done as solutions:

1. Collapse the project tree structure

2. Go to the workspace and remove the readonly permission of the workspace.

3. right click "default.properties" and go to properties and uncheck the readonly permission in eclipse.( this is done when the workspace shows build error even though there are no compilation issues)