Ever since I've migrated Android project from Gradle to SBT I become unable to work effectively with resources:
each symbol within XML resources (e.g. #string/app_name) is highlighted red and displays error message (e.g. Cannot resolve '#string/app_name' symbol),
layouts editors fail to work as all variables in layouts are unresolved, so I cannot effectively edit them,
What is more IDE reports that AndroidManifest.xml is missing and so I am unable to run app from within IDE, because I am unable to configure any Run Configuration. Automatic refactoring of manifest and resources where e.g. activity class name is changed also fails.
However, all resources and manifest are in their place. Facets are also set up correctly as it can be seen in the picture:
What I already tried and haven't worked:
editing facets - all of them are set up correctly,
invalidating cache and restarting IntelliJ,
removing .idea directory and reimporting project with SBT plugin,
syncing projects as in Gradle ones - there is no such option for SBT, best I could was was to refresh build.
Normally I would suspect that the build is for some reason not working, but:
sbt clean app/android:run correctly builds application from the scratch and load into the emulated device, where it works as expected,
facets within IDE are set up correctly, all dependencies are correctly recognized, projects are correctly set up.
What can I try to diagnose/resolve the issue?
Disable source generation in IDE.
Resources from aar do not resolve in local xml resources, this is currently a limitation of IDEA sbt project import support
I'm getting these errors when trying to build my app in Eclipse. Things started going downhill when the compiler warned me that my .project file was missing.
Then I tried to fix the project and now am getting these errors:
Errors occurred during the build.
Errors running builder 'Android Resource Manager' on project 'net.learn2develop.Layouts.LayoutsActivity'.
Preference node "org.eclipse.jdt.core" has been removed.
Errors running builder 'Android Pre Compiler' on project net.learn2develop.Layouts.LayoutsActivity'.
Path must include project and resource name: /net.learn2develop.Layouts.LayoutsActivity
Errors running builder 'Java Builder' on project 'net.learn2develop.Layouts.LayoutsActivity'.
Preference node "org.eclipse.jdt.core" has been removed.
I only have a red x at the top of my project, but not for any individual files within the project.
Any advice on how to recreate my .project file or resolve these Preference node errors?
I'm new to Android/Eclipse so details would be helpful.
Thanks
Works for me : File -> Properties -> Java Compiler -> Configure Workspace Settings ...
Then Restore Default, Apply and restart Eclipse.
I was able to fix these very annoying errors by deleting all my projects out of the workspace and then reimporting them. Similar to Jazzmine's solution but one less step. Now waiting to see if the errors come back...
I solved the problem, I think, by creating a new workspace, moving a copy of my project files into the new workspace and then importing the project. Not sure how so many files got blown away before but starting from scratch seemed to take care of it.
The basic problem is that when the Restore Defaults was applied, the Preferences code correctly discovered that there were no project-specific settings remaining in the node, so it removed the node. But WorkingCopyPreferences never discovers that fact, so a timebomb is ticking from then on.
Notice that since the JDT options pages all share a WorkingCopyManager, but each page only modifies a subset of the jdt.core settings, there is no way that any single page can tell whether restoring defaults for that page's settings will or will not cause the node to be removed. So it can't, e.g., cleverly call removeNode() on the WorkingCopyManager.
Delete the project from the workspace and checkout again and configure the project...
Its working for me in when I checkout from the SVN.
I am using Eclipse Classic 3.7.2 working only on Android. I use Ubuntu as my OS. When I run any basic Android application on Eclipse say "Hello World", it results an error called Your Project contains error(s), please fix them before running your application.
Now I have googled and checked here and may others but I did not get the solution.
I also tried Project > clean... but it isn't working.
Windows->Show Views->Problems shows 2 errors:
Error generating final archive: java.io.FileNotFoundException:/home/android/Desktop/helloworld/bin/resources.ap_does not exist.
Unable to parse aapt...
It may be be because of Eclipse's debug certificate expiration.
Please look at to my this answer.
Close and restart Eclipse. It works everytime !
Its bug with deleting android projects I think.
I have faced exactly same type of issue. Just update your eclipse ADT plugin to latest version.
After update clean build the project.
Go to your .android folder and delete your debug certificate. In my computer it is in this path
E:\Users\(ur profyle)\.android
Inside that there is a file name 'debug.keystore'. Delete that,clean and try to build the project again. Sometimes this error is caused when the certificate expires.
You need to update your Eclipse to the latest available version(Indigo) and then need to update the ADT(level 16 I think), as the latest ADT updates works on Indigo only. After the updates close and reopen the Eclipse, it should work now.
Go to Project Properties -> Java Build Path
Select Libraries and remove Android Dependencies
After this my problem solved.
The error was because of updating
Set your Android sdk path once again and restart Eclipse. It fixes the issue (window-preferences-android-sdklocation).
Or, just update your Android tools and restart Eclipse works.
Check your libs folder ..
some libraries cause this ,
it happened to me once and i was use Apache POI .. i tried to delete the jars from libs folder and it's worked ..
I had this problem in Eclipse after executing Project => Clean... That option deletes all the compiled stuff from your project and, therefore, the java classes start looking like if they all have errros.
To fix that problem I had to:
1. open my java clases and XML layout files(for android dev)
2. do a small change, something like a adding a space
3. Hitting Crt+S to ask eclipse to save and compile the class once again.
This solution may or may not work for you. I recommend looking at your specific problems using the Problems tab of Eclipse (Found at Windows=>Show View=>Problems) since it tells you about the exact errors and other very useful information.
If you're using android support library make sure you have not added jar files ( android-support-v4.jar and android-support-v7-appcompat.jar ) in your libs folder.
you only need to add android-support-v7-appcompat as library on your project.
It worked for me the time I had the same issue
My project had no errors in it but I noticed another open (unrelated) project which did have errors. I closed that project and my other project worked fine again.
Now the "unrelated" project used to be related but I'd removed the dependency ages ago. Closing it solved my problem so I have to assume there is some Eclipse bug in there somewhere which is still linking to it in some way. I'd say if I created a new project and copied everything in it might have achieved the same result.
As a test for yourself.. maybe close all other projects except the one you are working on.
I am developing a simple Android application. But when I run Eclipse, it shows the following error:
Your project contains error(s), please fix it before running it.
I can't find any error in my project or there is no error in my application.
There is a red cross under the application name but it is not under another file name.
Does anyone else have this issue?
That usually comes from errors in the build path.
If you're using eclipse, there is a view you can add that lists all the errors called "Problems":
Otherwise, you can try to clean the project, and that usually solves a few problems.
Finally, if you add or alter resources from outside your IDE, you'll want to reload the resources and clean.
EDIT (Comment by anonymous user)
This can also be caused by an out of date "Debug Certificate" fixed as follows:
IF ALL FAILS THEN THIS GOTTA BE THE SOLUTION:
Delete your debug certificate under ~/.android/debug.keystore (on Linux and Mac OS X); the directory is something like %USERPROFILE%/.androidon Windows.
The Eclipse plugin should then generate a new certificate when you next try to build a debug package. You may need to clean and then build to generate the certificate.
This is also another fix for the "setContentView(R.layout.main);" error that says it cannot find R.layout.main when it is actually generated. (R cannot be resolved to a variable).
This is also another fix for the error "Your project has errors..." and you cannot find any.
Clean and rebuild are still necessary after generating a new debug certificate.
First go to Window -> Show View -> Error Logs in menu. It will display error logs if you have any. Then try to clean the project and build it again.
Well, in my case some libraries were addressed twice in the:
Project >> Properties >> Java Build Path >> Libraries
I just had to remove the duplicate and it worked fine without any cleanings or refreshing.
I saw this with an existing project. I had made a few edits, but hadn't imported anything new. Restarting Eclipse didn't help.
Project->Clean did solve the problem.
I come across this error often when I import a new project in my workspace.
Reason: Some necessary files (Like R.Java) is not generated in its respective packages.
Cure: Clean and build projects, All the files that needs to be auto generated will be there on place after building the project.
Best Luck.
This is happened to me. After format of my system,
When i import project it shows same error
remove first debug.keystore file then goto -
Project -> Project properties -> select library -> remove -> add again libraries.
It's working for me......
Go to projects menu, click on clean menu item.
After that close the eclipse and reopen and try compiling..
It is software glitch you find some times.
it can also happen if you move required files. Simply check Problems View (menu window -> show view -> Problems) as told here
I had this exact same problem. One solution that would work would be to create a brand new project, but I don't think there's any need for that. For me the problem was that the debug certificate that gets auto-generated had expired. Deleting this file allowed Eclipse to rebuild that file, which solved the problem. You can't run an app with an invalid certificate, whether it be a debug or release certificate. Note that cleaning my project did not work. For more information, see:
"Debug certificate expired" error in Eclipse Android plugins
Recently I came across this error. I was really in a corner with no help, then I figured it out. This error can occur for the following reasons:
An error in the project code
Improper linking of external library files to the project
Most important: if your debug.keystore file is expired.
The first 2 cases are easily identifiable but the third one is like searching a black box in a dark room.
So in addition to Project -> Clean, remove your debug.keystore file also.
I am using Mac + Eclipse so to remove, I wrote the command rm ~/.android/.debug.keystore in a terminal.
Is there a way to ignore existing errors in project. Something similar what eclipse allows in case of java projects.
In my case the errors exist in jni directory. The errors are shown even though ndk-buid succeeds. So all i want to do is to ignore the errors reported by eclipse.
If the errors are indeed errors then i should get unresolved symbols during ndk-build.
I have ensured standard android includes are there in include path.
Also my project is of type android/c/c++.
I have two builders associated with the project
1. statndard android builder
2. custom ndk builder that ive explicitly created.
Simulate your self some error in class. Then save it and it would show more errors than you simulated. For me it was incorrect import and this helped.
I have had a similar problem.
Under "problems" tab I have found an error saying "Error generating final archive: Debug Certificate expired on 2/22/12 1:49 PM"
So my advice is to look in the problems tab to get some more info.
Bye
If none of the above solution work, you should check the READ ONLY property of the Project folder, if it is Read-Only, the compiler will not be able to overwrite the resources, R.java and other dex APK etc files and hence this will occur..
This happened to me and I fixed after a long struggle..
Happy Programming.
For some reason eclipse only showed a ! error on root and didn't specified what error it was.
Go in Windows -> Show Views -> Problems. You might find all previous errors there, delete them, do a clean build and build again. You'll see the exact errors.
Eclipse shows an error on android project but can find the error
I had this exact problem when trying to run the Doodlz app, from the book Android for Programmers, on Mac OS X with Eclipse Juno.
After downloading and unzipping the demos from the book, I forgot to change the permission of the files. They were read-only on my system so this was the first issue.
The second issue was solved by selecting a build target on Eclipse. This was fixed by going to: Project > Properties , and clicking the Android field on the left panel to be able to select one option as the Project Build Target, which in my case was:
Target Name Vendor Platform API Level
> Google APIs Google Inc. 4.0.3 15
Then cleaning and rebuilding the project showed no errors.
Finally, to run the app right-click the package (at the Package Explorer tab) and then select:
Run As > Android Application
Simply Deleted my debug certificate under ~/.android/debug.keystore and Project->Clean did solve the problem.
Delete the .android folder from your Documents&settings\User\ on XP and \User\ on Win7. Recreate the AVD again and create a new project.
What caused this problem for me was none of the above, but simply that I'd left the "debuggable" attribute to false in the manifest.xml file after doing a release. D'oh!
Of course neither the LogCat, Error log, Console, or Problems window alerted me to this..
I had the same error, when I copied a project to another computer.
I then checked all properties of the project on both machines, and the only thing that was different was the order of items in Java Build Path - tab Order and Export.
I moved the items Android X.X.X and Android Dependencies above the other 2 in the list (in my case, src and gen folders) and voila, it worked again!
I'm not really sure if the different order was actually the problem, but at least changing it (and saving the properties again) seemed to help...
I had the exact same problem after updating the SDK and ADT.
My issue was resolved by deleting the .android folder (hidden) under C:\Users\USERNAME\
This happened to me when I was experimenting with Maven.
Right click project -> Maven -> disable maven nature
corrected the problem for me.
Yes, this is a rather cryptic message. If you've got a faulty project (say one you've been working on in the past) then you'll get this message (and no messages in your current project's Problems / Error Log panes).
You may just want to run your current project. This may be perfectly fine. Just click on the down arrow to the right of the Run button to select your project.
Try changing your workspace. I am not sure this is the exact solution . I did face the same issue for sometime untill i changed my workspace.
In my case, it happens with ADT 22.
I choose not to create Activity.
After I remove the "appcompat_v7" as library project. I works.
I had similar problem where I couldn't run my project yet didn't see any problems in the code. In Error Log panel it said something like "Cannot add P/ to the list of segments P/ in as a parent".
Restarting Eclipse solved the problem.
I have a problem I can't seem to get around. I've created a project in Eclipse (I recreated it from another project that I thought was corrupted). There are no visible errors in any of the files, including the .xml files. However, the project root [project name] itself has an error (red 'x') and so I can't run it.
On a side note, in the default properties file the line:
target=android-4 is underlined in red with the note that 'android' is not spelled correctly. I have not altered this file since it was generated.
Any clues? Target is 1.6, sdk 4. And I'm new at this :)
You may have already tried this unsuccessfully, but if not, you might want to try the Android Tools > Fix Project Properties action from the context menu of the project root.
Eclipse also thinks android-4 is misspelled in my default.properties, so I doubt that is the cause of your build problem.
Does the Problems view describe any issues? (Window->Show View->Problems)
You could also try cleaning the project in eclipse. Project->Clean..
if the error message you get is
The project cannot be built until the build path errors are resolved.
this might help:
Open the Project -> Properties
Select Java Build Path -> Libraries
Add any new library (to be deleted later) -> OK
Wait for the workspace to refresh or force a refresh
The error should go away
Remove the dummy library
You can stop the spelling error by adding that word to a user dictionary, but a spelling error wouldn't prevent a run.