I'm trying to compile the Android project SGTPuzzles, and am running into problems that I need help understanding. The error is:
Errors occurred during the build.
Errors running builder 'Android Pre Compiler' on project 'SGTPuzzles'.
Path must include project and resource name: /SGTPuzzles
I'm new to Android development (and Eclipse and Java), and so I'm not really sure how to figure out the source of the error. I'm running Ubuntu 12.04, ADT v22.3, and have imported the SGTPuzzles project into my Eclipse workspace with the included Git tools.
I searched the web and found similar problems here and here (among some less useful non-stackoverflow results), but no solutions. I've tried clearing my workspace, re-cloning the repository, and restarting Eclipse. I've tried the 'Android Tools'->'Fix Project Properties'. Nothing has helped. I don't know where to look to learn more about what file or resource is causing this problem, so it's tricky for me to debug. Any suggestions would be really appreciated. Thanks!
This helped me:
Right click on the project and go to "Properties"
Select "Java Build Path" on the left
Open "Source" tab
Remove "YourProject" from source files (make sure "gen" folder and "src" are in the source files)
Again right click on the project and in the "Andriod Tools" click on "Fix Project Properties"
This one's my fault: I had the *.c files at the root of the project (hoping to keep the same paths as upstream svn), and thus the root as a source folder, and ADT started objecting to that, by crashing in com.android.ide.eclipse.adt.internal.build.SourceProcessor.buildSourceFileList() trying to resolve /SGTPuzzles to a project and resource (i.e. subfolder), which fails. Fixed in current git by mv *.c jni/.
Related
I just recently upgraded to the newest version of Android Studio (0.1.1), but I also used Android Studio to relocate my project to my Dropbox folder. So, I'm not exactly sure which one is causing this problem. When I build or try to run my project I get this error:
Cannot start compilation: the output path is not specified for modules
"actionbarsherlock",
"EmPubLite-EmPubLite".
Specify the output path in Configure Project.
I can't find any reference to "Configure Project" and the Project Structure option under File no longer works in this release.
Solution for Android Studio version < 1.0 :
You just have to go to your Modules settings > Project and specify a "Project compiler output"
and make your modules inherit from project. (For that go to Modules > Paths > Inherit project.
Or you can specify your output for each module if you want.
In order to do so you just need to follow this steps:
Open Project structure (F4 on one of the modules in the project explorer)
Click on Project tab on the left
Define "Project compiler output:" as YOUR_PROJECT_PATH\out (or any folder you want)
Click on Modules tab on the left
Go over all your modules and verify that under the Paths tab the Compiler output is set to "Inherit project compile output path"
I ended up re-importing the project using Gradle and it's back to normal. Very weird issue.
this is a problem that I face in case I open my phonegap project with Android Studio and Webstorm.
They are IntelliJ-based project and I guess they are both writing the files in .idea
Reimporting the project is the solution.
got same error while using studio feature to import from GitHub repository.
I deleted the whole project and .. cloned it using git terminal and imported as new project ... studio prompted to add VCS root, accepted ....everything was fine afterwards. As #lordhong prompted.
I found this:
http://www.chrisdew.com/blog/2013/07/17/android-studio-nosuchmethoderror-lazystringarraylist/
it is realy help for me.
Thus, in my case, the problem was to have two libraries:
protobuf-2.4.1.jar
and new protobuf-2.5.0.jar
it resulted error:
APK path is not specified for module “Example-Example”
To correct this, rename file protobuf-2.4.1.jar to protobuf-2.4.1.jar.disabled
mv protobuf-2.4.1.jar protobuf-2.4.1.jar.disabled
How I finally managed to fix after hours!
File -> Project Structure -> Facets -> choose module's facet -> Packaging. Enter in APK Path absolute path to apk to be created: C:\workspace\MyCompany\MyProject\myProject.apk
Press ok and run your project
When I create a new android project in Eclipse, and I choose to have a default main activity, my R.java file does not get generated.
I have seen some questions online and on this site about R.java not being generated but all are due to some manual action/mistake that had to be corrected during the development of the application.
However, does anyone know why R.java would not get generated for a brand new android project, where I have made no manual modifications whatsoever?
I think your problem is just the latest update of the SDK.
Test the following operations on two projects :
In the project properties (eclipse) -> java build path -> order and export make sure that all your jars in the libs folder are checked.
And "Android Tools -> Fix Project Properties"
And "Project -> Clean"
I hope you have helped!
ADT version 22 requires that you install "build tools". To get it to work i had to update:
SDK Tools
Platform Tools
Then install:
Build Tools
This link recommends you add build tools to your environment path. I had to do the following before the R.java was generated:
Append build tools to PATH environment variable
Restart Eclipse.
Make sure your project is free of errors and problems. You can use Windows-View to find and rectify them. Common mistakes are in the layout files.
Check the AndroidManifest file and see if the activity names match the classes in your source folder. Clean and rebuild.
R.java creates every time when you create android project first time r.java created by default
so check for the errors and clean the project.
After updating to the latest developer tools, ADT 14, my Android project that includes library projects will no longer run producing the error:
Dx UNEXPECTED TOP-LEVEL EXCEPTION: ... already added: ...
...
Conversion to Dalvik format failed with error 1
The other threads describing this issue with solutions that include removing and re-adding the projects do not work.
This problem is listed as a known issue of ADT 14. Here's the quote from the Android Tools Project Site:
Project not building with error
[2011-10-20 23:32:04 - MyApp] Dx UNEXPECTED TOP-LEVEL EXCEPTION:<class>: already added: <class>
This is due to a failure to remove previous library source folders from the
main project. Incidentally, the fragility around those linked source
folders is one of the reason we are moving away from this mechanism
(see more info at
http://tools.android.com/recent/buildchangesinrevision14). The
solution is to remove those <libraryname>_src source folders from
your projects. Just right click them and choose Build Path > Remove
from Build Path. You should also be prompted to remove the linked
folder which you should do. If you're not prompted, remove it
manually. You can see some screenshot of the problem in this great
post:
http://android.foxykeep.com/dev/fix-the-conversion-to-dalvik-format-failed-with-error-1-with-adt-14
Solution:
As it says, the solution is to remove the <libraryname>_src source folders from your projects. You can do this by right clicking them and choose "Build Path -> Remove from Build Path" or in your project properties (Java Build Path -> Source tab).
I also ran into this problem, but none of the above fixed it:
Tried removing/re-adding libraries with clean builds along the way
Tried deleting and re-importing projects
No dice. Still the "Conversion to Dalvik format failed with error 1" was staring me in the face every time I tried to export to an apk.
I could tell the problem was related to ProGuard, because when I commented out this line in my project.properties file, everything worked fine:
proguard.config=proguard.cfg
However, I wasn't able to solve the problem until I found this post by David M Young. Apparently, ADK/ADT 14 shipped with an incorrect version of ProGuard (oops!). I downloaded ProGuard version 4.6. Replaced the android-sdk\android-sdk\tools\proguard\lib directory contents with proguard4.6.zip\proguard4.6\lib (3 *.jar files), restarted Eclipse and export to apk worked again!
To solve you should:
Right click on your project>Properties>Java Build Path and remove all libs but the one Android I.J (depending on your version)
Project>Clean
Add back the libs you've removed
If the problem comes back another times it's useful to put the libs outside your project and import them as "External JARs"
Hello thought I'd throw my two cents in here. as I did do that,
"_src -> Remove from path"
Then I cleaned it and rebuilt and I could get it to run in debug mode on my phone just fine. I could also export it; but only if I disabled proguard. of course I couldn't leave it like that with my code open for all to see. so it was quite madding. but I Finally found a cure, oddly enough they had the same problem (and fix) with r12 as they do with this one.
it's in: [Android SDK Installation Directory]\tools\proguard\bin\proguard.bat
Change
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*
to
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
I tried tons of other stuff but this is what did it for me.
This is a known problem with the android sdk. Check out this blogpost for a fix.
I used a library for my project and had the same error - it was solved by removing library and src-folder, cleaning and adding it back and cleaned again.
Remove
Project properties -> Android: Remove libs, 'Apply'
Remove included library src-folder
better clean,
Add again
Project properties -> Android: Add libs again, 'Apply'
Clean project
Just had this problem come back again (fixed first time by removing the _src items as mentioned in other answers) - this time there were no _src files to remove. The error was relating the android-support-v4.jar which was included as part of a linked library project as well as part of the main project itself.
Error Dx UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/support/v4/content/ModernAsyncTask$WorkerRunnable;
Problem went away after removing the android-support-v4.jar file from the build path for the main project. Don't think I came across this as possible cause to the errors.
Go to Project » Properties » Java Build Path » Libraries and remove all except the "Android X.Y" (in my case Android 1.5). click OK. Go to Project » Clean » Clean projects selected below » select your project and click OK. That should work.
It is also possible that you have a JAR file located somewhere in your project folders (I had copied the Admob JAR file into my src folder) and THEN added it as a Java Path Library. It does not show up under the Package Explorer, so you don't notice it, but it does get counted twice, causing the dreaded Dalvik error 1.
Another possible reason could be package name conflicts. Suppose you have a package com.abc.xyz and a class named A.java inside this package, and another library project (which is added to the dependency of this project) which contains the same com.abc.xyz.A.java, then you will be getting the exact same error. This means, you have multiple references to the same file A.java and can't properly build it.
I had the same issue, I'm using the ADT 20.0.3.
Steps I followed to resolve this.
Remove all the jar in project/lib folder and reference them as external jars.
Check android dependencies/reference libraries in project for duplicates,
I've dealt with this problem when using Sherlock ActionBar library in my project. You could do the following step, it's work for me.
Right click to your project, select properties.
A dialog will show up, select 'Java build path' on the left menu.
Remove 'Android dependencies' and 'Android private libraries' on the right panel then click OK
Clean your project (select menu Project --> Clean)
Right click your project, select Android Tools -> Fix project properties
Clean project once again.
Restart your computer
Open eclipse and Export apk
Hope that will help you.
I have multiple Eclipse (3.52 "Galileo") ) workspaces so that I can keep related projects together in the same workspace. I switch between them with File > Switch Workspace.
I recently copied a good, working project to a different workspace, did a "File > Import" to import it in its new workspace, but after doing a Clean and Build, got the "The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project " error.
All my other projects build fine. I thought the "build path" referred to the search path Java or SDK files, so why would it only fail on one project ( ...a project that builds fine in a different workspace, at that)?
I've tried restarting eclipse, switching back and forth between workspaces, doing another clean and build, but no luck. Any ideas? Thanks in advance.
This may be a little late to help you, but in case others are looking, here's how I fixed it:
Right click on your project and select ‘Properties’. Then select ‘Java Build Path’, and the Library tab. Look for a JVM. If one is not there (broken link from your copied project), click ‘Add Library’ and add the default JVM. If a VM is there, select it and hit ‘Edit’ and reselect the default JVM. This should reestablish that link and fix the problem. Hope this helps.
I think Bill LaPrise might be right in most cases, but not in mine. What I eventually had to do was go into the folder where I have all my projects and delete the .metadata for Eclipse (be aware that you'll have to re-import all the projects afterwards! Also all the environment settings you've set would also have to be redone)
After it was deleted I just imported the project again, and it worked.
This was on Eclipse 4.2.0 Juno, if you're wondering.
For those encountering this error while using Maven:
Right click on the project, Build Path -> Configure Build Path...
Select the libraries tab. If Maven dependencies is not in the list,
you have identified the problem.
Close the dialog.
Right click on the project, Maven -> Disable Maven Nature
Right click on the project, Configure -> Convert to Maven Project.
Right click on the project, Maven->Update Project
Will Solve the Problem
Close Eclipse and run the below command from the terminal:
$ mvn clean eclipse:clean eclipse:eclipse
Right click on the project in the Eclipse 'Package Explorer'. Then from the drop down menu find 'Android Tools'. From the sub menu select 'Fix Project Properties'. It works wonders.
restart eclipse works on me. I am on Indigo.
In my case this issue happens after I install ADT manually by downloading .zip instead install from ADT site.
I solve the issue by right click on project -> Java Build Path. You'll see Android XXX, Android Dependencies, Android Private Libraries, Expand and click on Native library location (None), click edit button on right side then add path to ADT folder on eclipse on Location Path. Restart eclipse to complete
I just reformatted my computer. I have windows xp sp3 32 bit.
I install java jdk
android sdk
eclipse ide
When I go to make a new android project i get this error.
Project 'HelloAndroid2' is missing required source folder: 'gen'
Please help i'm new to eclipse so give detail responses.
I just got this problem when I was trying to import a project that was originally created with a version of the SDK that is no longer installed on my machine.
Right click the project. Select Properties. Go to Android. Select a Project Build Target. Click Ok. You might have to clean and rebuild the project as well.
Right-click on the "gen" folder in Eclipse and select Properties. Then, remove the "Derived" checkbox. Then clean the project.
Most likely, there is a problem with one of your resources, preventing R.java from being generated in the gen/ folder. You should have error messages in your Console related to this problem.
Delete the "gen" folder. Then clean the project. Then build the project again. In my case it worked.
try this...
Right click on the project in eclips
Android tools -> Fix project properties
its works for me
ok , here's what worked for me:
delete the project and make sure you are not deleting it from the disk!
import it again and it will solve the problem.
Good luck....
My case was: I imported Zhou Weikan's cocos2d-android and the error emerged. The most straight-forward solution that came to my mind was to create the folder (right-click on the project in Package Explorer -> New -> Folder and then create new folder named 'gen'. It worked in my case.
delete the gen and its content and clean the project again.
Go to project
Right Click
New Folder (Res)
In my case it works Fine
I tried all these things and none of them worked. One day all my projects are running, next day all my projects have an empty gen folder?
After a series of tests to resolve the phantom missing R.java, the one that led me to a drastic action is when I looked at the Properties > Android and the Project Build Target was greyed out and the project wasn't linked to any SDK, almost as if there were no SDKs installed. This was after I uninstalled 4.2 and reinstalled all tools and SDKs...
Long story short, after trying everything I could find online, I just deleted the whole "adt-bundle-mac-x86_64" folder in my workspace folder, unzipped the original download, and dragged the original folder back into the workspace.
This works as a last resort, however you will have to import all of your projects back into the package explorer by New > Project... > Android Project from Existing Code, and make sure you have the "Copy projects into workspace" UNCHECKED.
IMPORTANT: You will find that you can't do this if your "MainActivity" file is always named "MainActivity," so just for future project creating, it's good practice to always name your main activity something different each time.
This error occurred when I tried to graphically add a grid layout. Deleting the grid layout folder fixed the problem for me.
My solution was to install android sdk build tools with Android SDK Manager.
The probkem was that whenever I clean the project, the gen directory becomes empty.
Hope it will help!
if gen folder or R.java file is not generated then first check error in XML file and make sure android menifest.xml is present.
Right click on the project> Properties> Android > use the latest API
takes care of everything!
In my case, the solution was downgrading the target from android-22 to android-19 at project.properties