Eclipse Crash and Not Regenerate R.java - android

I know this question has been asked & answered before. But, none of those answers work for me. Eclipse crashed in the middle of a build and keeps erasing the R.java file. I have tried to clean and rebuild. Does not help. I was using SDK build tools 19.0 upgraded to 20.0. Does not help. I didn't touch anything in the XML files and I do not see any errors in the XML files.

Try another IDE e.g Idea and check if this is due to your Eclipse malfunction not your SDK that you have updated recently

I my case there was something wrong with my XML usually my layout files, when you have a problem in your XML files the clean option does not work properly, check your XML files ( layout and manifest ) and after that clean your project.
Hope this help you

I did get my R.java back. There was a jpeg for another project stuck in a drawable directory. Don't know how it got there. and, still lots of unexplained errors though.

All my other errors were from switch statements using R.something_menu.icon for cases handling user responses. I got a message that as of ADT 14, switch statements can no longer be used. I had to migrate to if...else It works. Don't know why. But, it solved the problem & saved my code.

Related

Android studio suddenly cannot resolve symbol R

I was having a project open in Android studio. It was generated by the wizard and working fine.
I did some small changes to activity_main.xml and when I changed back to MainActivity.java i get the error in several places that it cannot resolve R. I might have done something to cause this. But I´m not sure what since it appered when I edited the xml.
Does anyone know what might be the solution to this?
I can find the R.java in r/release/packege/com/ and it looks fine.
Most of the time it is due to a bad XML file. XML files can be layout files, value files, or the Manifest file. Please check your xml files and try to rebuild the project. Sometimes cleaning the project and rebuilding it also works.
In addition, make sure you do not have a drawable with an invalid name. I had a drawable with a numeric filename and that didn't sit well with Android so it failed to compile R.java.
Downgrade Your Gradle Plugin Version
No amount of cleaning, rebuilding and restarting would do the trick for me.
The only thing that did the trick was downgrade our Gradle version from 3.4.0-alpha02 to 3.2.1.
So, instead of:
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0-alpha02'
}
We used:
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
After making that change and then doing a Gradle sync, everything worked.
Not sure if it's related to the alpha release or to that version or if changing your Gradle version at all just forces a refresh that otherwise cannot be done with the other commands, but there ya go.
Make sure in your AndroidManifest.xml the package name is correct. That fixed the problem for me when my R.whatever was marked red!
Try to clean the project by doing the following:
If you are using Windows, open CMD, cd to your project directory and run gradlew clean.
I just had this problem and the reason was that after editing the layout android studio automatically added an import to the source files:
import android.R
Of course the main R class has not all the symbols in your layouts, which made everything a red mess.
Removing that line solved for me.
EDIT:
Seems like eclipse had the same problem early on.
I sometimes get this after updating Android Studio. Not always straight away but after a while (perhaps after a restart of the program).
Here is what has worked for me: Tools - Android - Sync project with Gradle files.
For some reason just clicking the "Sync now" link that shows up after changing the build.gradle file has not done any change for me. Even though the messages says approximately the same thing.
I had the same problem because in my strings.xml I forgot to escape a apostrophe. Use " \' " never " ' " in xml file!
I had that same problem crop up, too (most recently while I was at lunch--came back and WTF?). And since this was a simple Hello, World program, there wasn't many places these errors could hide. The XML files looked fine--I hadn't even touched the manifest. A clean did nothing.
So I commented out a section of my layout.xml to try to narrow down the problem. Sure enough, the errors went away.
And then I simply UNcommented out exactly what I had commented...and everything was hunky-dory. Strange! Perhaps there was some lingering issues that needed to be touched in order to cause a rebuild of the layout file. You'd think basic stuff like that wouldn't happen these days, but they do.
One more thing! It's possible that something may happen to Java as well. It's very hard to know the status of the Java run-time environment; just easier to start again. So here's one more thing to try: restart your computer, restart Android Studio, AND THEN Invalidate Caches and Restart. Yep, the whole-hog.
When all else fails restarting android sometimes helps. During the start files are loaded afresh and this enables detection of the R
This problem occurs when you rename the package name.
After renaming the package name, you must change the older package
name to a newer one.
For me it solved the problem once I changed that.
After that, you might get errors in xml files, that you have to change
the package name there also.
That's it.
I just had the R problem and after a few hours found that the problem was my regional spelling as used in one of my xml files. The problem word was behaviour, which is spelled behavior by Americans.
I am Australian and we are taught ye olde English way of spelling certain words and so I looked past it a number of times before the penny dropped.
Its a small thing, but it can easily sneak up and bite you on the nether regions and is hard to spot and can waste a lot of time.
In my case I had just added some new image files to the drawable folder and accidentally put a GIF in there with my PNGs. I had not incorporated them into the project at all yet. I removed the GIF and then did a clean and rebuild. That fixed it for me.
I had this exact problem when importing a Udacity Example Program. The Message Pane in Android Studio said the error was failing to load a .PNG in a sub-directory deep in the Project Files.
Turns out the PNG with all of the sub-directory path names was greater than the name length limit defined by Windows 7 (260 characters). I gave the Project a shorter name - to free up some space - and then Android Studio happily compiled.
After you tried make project, clean project, rebuild project but still doesn't work.
Try restart Android studio

Eclipse show no error in files but in folder

I got this error when code my Android app:
I do nothing to this strings.xml file.
Can anyone fix this error?
I do refresh and clean but nothing change.
Thanks.
As per your Comment. Here i post my answer. For this problem. Try below steps -
First just remove the project from your workspace.
And, after just import that project again into your work-space.
Sometimes, it happened for me. I tried to do this way. It works.
Hope this helps you.
Most Often this happens to me too.
Try to remove project from workspace and re-import it.
Hope it will work :)
It seems you have used localization is your app.
There are different possibilities for the error to occur:
1)You have not localized all of the strings.
2)Other problems are persisting and you are not ignoring them.
Solution:
Right Click on your project----> Java Compiler-----> Errors/Warning---> Remove all errors
let me know if this works.
What version of the SDK are you compiling against? According to this list, you need at least Android 2.3 for Vietnamese localisation.

What can I do with R cannot be resolved problem?

If I make a new Android project in Ecplipse and I try, to open one of the samples from android SDK, I have got an error, look like this:
R cannot be resolved
What can I do, to be able, to run these files? I tried to delete import android.R; but nothing changed.
Thanks
First thing you might try is "clean" your project (option in the menu). If it persists:
There should be an error that stops R from being generated. Check the "problems" tab (?) in eclipse to see what that problem is, and solve that. It could be missing libs, or various other stuff.
You possibly got error in building resources.
Possible fixes:
-refresh your project (F5)
-clean you project and refresh
-see "Console" tab, sometimes the problem is shown there
-reload the Android SDK
-restart the Eclipse IDE
Check your XML-Layout files. The problem come here half a time.
If you are sure it is note your layout file, check in your java build path if the google librarys are well set. (Google APIs)
(sorry for my bad english)

Android Packaging Problem: resources.ap_ does not exist

I am trying to fix a problem in Eclipse for like 3 hours and I haven't made any progress. Tomorrow is the customer coming to look at my app, and I have no time left. This is really frustrating!
This morning when I was coding and I wanted to run my app on my device Eclipse crashed all of a sudden. 'aapt.exe has stopped working'
After this Eclipse wasn't starting anymore. It froze at the splash image.
I looked on the internet and tried different solutions like going back to Java SE 6 update 20, changing .ini file etc. in the end reinstalling Eclipse did the job.
Shortly after that the 'aapt.exe has stopped working' returned. I found a solution by changing my projects target. 1.5, 1.6, 2.2 doesn't matter, as long as it's different than the one before.
Now I get the Error generating final archive: java.io.FileNotFoundException: C:\xxx\bin\resources.ap_ does not exist error.
I tried clean but that doesn't work. Deleting and automatically regenarting R.java also didn't work.
I ran the same code in Netbeans with the Android plugin and there it gives me the 'aapt.exe has stopped working' again :(
Please guys, how can I fix this?
Edit:
I think I may have found the reason. These are the error lines in the console:
org.xmlpull.v1.XmlPullParserException: Binary XML file line #3: <bitmap> requires a valid src attribute
at android.graphics.drawable.BitmapDrawable.inflate(BitmapDrawable.java:341)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:779)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:720)
at com.android.layoutlib.bridge.ResourceHelper.getDrawable(ResourceHelper.java:150)
at com.android.layoutlib.bridge.BridgeTypedArray.getDrawable(BridgeTypedArray.java:668)
at android.view.View.<init>(View.java:1846)
at android.view.View.<init>(View.java:1795)
at android.view.ViewGroup.<init>(ViewGroup.java:282)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
[2011-01-17 16:37:20 - gegevens.xml] Unable to resolve drawable "com.android.layoutlib.utils.ResourceValue#267e33de" in attribute "background"
The file it's talking about is 'bg.png'. It's a small png file which I repeat in a .xml file.
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="#drawable/bg" android:tileMode="repeat" />
This file has worked from the first time without any problems.
I deleted it from the drawable folder, waited for an error message, and then added it back. The red x next to the foldername got away, but still nothing different...
A shot in the dark, but if it's just the one PNG file could you delete it from the project and add it back? There must be something breaking the resources file.
I just encountered the same error after performing an SDK update withing Eclipse (Indigo). Normally I would either delete the errors and try to rebuild or clean with success, however this time it didn't fix the problem.
Finally I went to the android sdk folder and manually updated. Upon coming back into eclipse I got the error again, but without rebuilding or cleaning I was able to launch the application onto the device by pressing play for a second time.
EDIT:Apparently this problem is intermittent, as I am now once again unable to run on the device, or export the signed apk.
SOLVED: The problem stems from a corruption in the .metadata folder. I discovered this by re-installing Indigo, but when doing so I didn't remove the original workspace folder. The problem of course showed up again. I deleted the .metadata folder completely, which effectively resets all of your eclipse configuration settings. All deployments and signing work flawlessly now. Just had to setup the environment to my liking again, which takes a few minutes as opposed to the hours I spent troubleshooting this.
I just ran into this same problem after importing my project from another machine, but didn't have any errors in the console like the OP. I unchecked Project->Build Automatically and then did Project->Clean and this solved my problem. I was actually missing several files in the bin/ directory for my project and this fixed them all.
I think this error can come up for a variety of reasons. The following solution is only known to be specific to the same error message appearing when using ADT 14 (released yesterday) with build output set to Verbose:
I ran into the same error using Eclipse 3.7 (Indigo) after upgrading to ADT 14 and SDK 14 on all projects including newly created ones. I found a workaround someone posted on the ADT bug tracker, which is basically to switch Eclipse Settings->Android->Build->Build Output from "Verbose" to "Normal". The post is here.
In my scenario, yesterday upon open Eclipse was trying to download updates and I cancelled it since I was using my cellphone hotspot. I tried the metadata folder delete solution mentioned here and didn't work for me. Going to Window->SDK Manager and updating everything seems to be my solution.
I had the same issue in that I added some images into each resource directory and unfortunately named them .png. There were in fact jpegs and the eclipse plugin was flagging this (unbeknown to me in the console)
The issue I found was that if you clear the console then the logging info is lost and it doesn't log anything again!
Changing the extension from .png to .jpg fixed my issue
Above solution didn't worked for me.
The way I did that is updating not only ADT but SDK as well. To do that just go to Android SDK Manager and just download updates.
IT WORKS!
It's very meaningless but changing build mode from verbose to silent did the trick! Nothing else (cleaning project, re-opening , re-installing) did.
Try running clean, but also uncheck build automatically and click "build project" under the "Project" menu. Once you build manually, you can re-check the "build automatically".
I would also shutdown eclispe, and then kill adb
> adb kill-server
Sometimes this error happens when you create ninepatch with wrong black dots/lines. For example right and bottom lines must be solid with no dashes or empty regions.
Try in
windows-> peferences -> android -> Build -> Build Output
Silent
http://code.google.com/p/android/issues/detail?id=20395
In some cases, this error will disappear after fixing upstream errors. In my case that was a version incompatibility in 'fullwebview.xml'.
There, 'layout_width'/height was set to a value not supported in my build target, 2.1. Changing the value to 'fill_parent' solved the issue.
I encountered this same error but then I saw that my layout.xml was not catching an error for a TextView whose android:text="#string/my_unmapped_string string resource was not mapped in strings.xml. So when I viewed the graphical layout it was showing:
Couldn't resolve .....
When I mapped the resource properly and ran the project again, it worked fine and that bin\resources.ap_ does not exist error was gone :)
In my case, it was the file add-icon.175x175-75.png (valid file name, but invalid resource name) copied into res/drawable by mistake. After removing this file, Eclipse did (in April 2015) a few successful builds with incorrect sources, and only then began to behave sensibly, showing me missing resources and malformed XML (I changed the layout).

R.java malfunctioning

I created a new xml file, and had an errant ? in it that prevented R.java from regenerating. I tried Cleaning the Project, and Fixing the Project Properties but no luck.
Then I realized the XML was creating the R.java from recreating itself, so I deleted the XML file and the R.java was back.
Now though, I am getting an error on all the calls to R.. calls saying that :
cannot be resolved or is not a field
So, for instance I have
setContentView(R.layout.detectlayout);
ERROR: detectlayout cannot be resolved or is not a field
for all of my calls to 'R.'. Any ideas?
I have tried all of the suggestions on SO already to no luck =/
Look at the 'import' section of your code. Since you deleted your original R, chances is Eclipse help you to fill in the R as com.android.R instead of com.yourproject.R
I also sometimes have problem in Eclipse Resource stuff, sometimes I found turning off and on the "auto buiild" function may help, or simply restarting Eclipse may sometimes help. It's kind of buggy under Mac OS.
This can happen if .R is imported. Eclipse will automatically add it sometimes when you have difficulty with with R.java
first don't bother deleting the R file it not going to make things better only worst lol
as you said you some times need to clean the project
when you start modifying resources its good to select the root of your project and do a alt+shift+o to reload all ressources
then f5 to refresh the tree
then clean the project
you also have to check that eclipse is set to build automatically (Project->build automatically).

Categories

Resources