SDK integration in android - android

I have added Facebook SDK and Google-play-services_lib as library in my project . I have deleted android-support-v4.jar from my project Lib folder. Now I am facing with following problem
[2014-09-26 15:47:47 - Dex Loader] Unable to execute dex: Multiple DEX files define Lcom/facebook/android/AsyncFacebookRunner$1;
[2014-09-26 15:47:47 - Mmatching] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;

This means that you have multiple files defined for your project settings.
For that,
Go to the,
Project Properties -> Java build path -> Libraries -> Remove Android dependencies
To be more specific -
Just removing the facebook-android-sdk.jar file from libs worked for me as well as it refers to the facebook related jar which I had in multiple.

Remove this error by following these steps:
Right click on the project and open the properties.
Go to 'Java Build Path..'
Go to Order & Export tab. Unmark 'Android Private Libraries' & Click 'OK'.
and clean your project. It works.

Just Uncheck your Android Dependencies checkbox from Java Build Path -> Order and Export.

Related

export an android compound view as library

I want to export my compound view as a library for reusing. I do it as follow:
Right Click on project> Properties > Android > And check Is Library
And copy exported jar file to a new project and add it to the library, Now when I want to run my project eclipes throws an error:
[2014-10-11 11:31:18 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v7/appcompat/R$anim;
[2014-10-11 11:31:18 - khonemojaradi] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v7/appcompat/R$anim;
According to error I know that I have same libraries that are there in my compound view and new project, But how can I fix it? I've done searches on stackoverflow and Google but I could not solve my problem
Thanks in advance
You should do two things:
Change the package route for your component because you may are having a conflict with other component of AppCompat 7
Don't copy the jar. Import your project as a Android Project. It is: in the target project, where you want to use your component, add your library project from:
Right Click on project> Properties > Android > Add project (below Check project as Library, that should be unchecked).
If you have imported your library project, it should appear there.
Good luck buddy!

Project Contains Error but not showing in source code Android

I import a pre-developed project in eclipse,in starting it shows me many errors.
After importing and including all the necessary files there are no error showing in my source code.
But whenever i tried to run the application it alert me that " There is error in my project".
But no errors are showing inside my project.
How can i fix my problem ?
This is what showing in my console in red color.
[2014-02-12 16:05:53 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/readystatesoftware/sqliteasset/SQLiteAssetException; [2014-02-12 16:05:53 - AClickCell_Orion] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/readystatesoftware/sqliteasset/SQLiteAssetException;
Go to lib folder and remove or delete android-support-v4 jar file. And clean and run. It will work.
Go to Project Properties > Java Build Path and under Add Libraries Tab, remove Android Dependencies. Then right click on project, go to Android Tools and click Add supported Libraries. See if that helps
Your project has two copies of the sqliteasset helper library. Remove one of them.

Unable to execute dex: Multiple dex files define in Android [duplicate]

Since updating to ADT 14 I can no longer build my project. It was building fine prior to updating.
The error:
[2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
[2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
Similar issues have been reported and I have tried the suggestions there including
Restarting Eclipse.
Cleaning the project and rebuild - Disable "Project->Build Automatically" option, then "Clean" and "Build" project, then try to run. reset "Build Automatically" option to On
Re-installing the Android Developer Tools
Re-installing Eclipse (updated to the latest version 3.7.1)
Created a new project importing from the file system
Created a new project from subversion.
I had the same problem, quite weird because it was happening only when using Eclipse (but it was OK with Ant).
This is how I fixed it:
Right click on the Project Name
Select Build Path -> Configure Build Path
In Java Build Path, go to the tab Order and Export
Uncheck your .jar library
Only sometimes:
In Order and Export tab I did not have any jar library there, so I have unchecked Android Private Libraries item. Now my project is running.
My problem was resolved after cleaning up some directories and files left over from the previous versions of the tools. ADT Rev 14 changes where binaries are stored. I deleted the entire bin directory, restarted Eclipse and cleaned the build and forced a rebuild. That seemed to do the trick initially but the problem came back after the next run.
I finally discovered that my bin directory was included in the project build path. I excluded bin from the build path and repeated the steps above. This resolved my problem.
[Solved for me]
Eclipse project properties->Java build path->Order and export
Uncheck Android private libraries.
None of the above helped.
It was a simple problem in the end.
I had a project which uses the FacebookSDK and ViewPagerIndicator as library projects.
All were built on Android API 16 and those two projects used the android support library vX (X not being 16!)
I added an external JAR to both those projects and pointed it to \extras\android\v4...
And also removed the v4 jar I had in their libs folders.
Clean all projects and re-build.
Voilla!
The exact error I was receiving: Unable to execute dex: Multiple dex files define Landroid/support/v4/view/PagerAdapter; Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v4/view/PagerAdapter;
This problem was happening me, I had an external .jar in my libs folder called gson-2.2.2.jar but for some reason there were two of them, gson-2.2.2.jar and gson-2.2.2.jar(1), I simply deleted the latter and my project built fine again.
Close eclipse.
Delete bin folder inside your project folder.
Start eclipse and clean your project.
Now run and the problem should be gone
As others have mentioned, this occurs when you have multiple copies of the same class in your build path - including bin/ in your classpath is one way to guarantee this problem.
For me, this occurred when I had added android-support-v4.jar to my libs/ folder, and somehow eclipse added a second copy to bin/classes/android-support-v4.jar.
Deleting the extra copy in bin/classes solved the problem - unsure why Eclipse made a copy there.
You can test for this with
grep -r YourOffendingClassName YourApp | grep jar
For me, I just right click on project -> Build path -> configure build path -> Libraries -> remove dependency
after it works.
This error can happen if you have two jars that contains the same class names, e.g. I had two library: jsr311-api-1.1.1.jar, and jersey-core-1.17.1.jar, both containing the class javax.ws.rs.ApplicationPath. I removed jsr311-api-1.1.1.jar and it worked fine.
I was getting this error after adding the facebooksdk.jar to a project that already had dependencies on the android-support-v4.jar. Since the facebooksdk.jar already includes its own android-support-v4.jar there were conflicts. Removing the earlier android-support-v4.jar from the projects Properties / Java Build Path / Libraries resolved the issue for me.
Go to Project/properties and Java Build Path and unchecked the Android Private Libraries.
Done
I removed Android dependencies from build path and it worked.
Edit: ignore that. I had same jar in my maven dependencies and libs folder. I removed the one at the lib folder.
You have probably installed r14, this error may have been caused due to the platform tools update, you have to re-install your sdk
For me this problem only exists as long as there are Android library projects involved in my project. So when I remove all the libraries and do as you said I can run my app again.
If there are libraries involved even the bin-removal-trick trick won' work.
I don't get why this bug first appeared today since I'm using ADT 14 for several days now. Well there were other bugs that kept me happy though.
Deleting the bin folder was not enough, I also deleted the gen folder. Then after two rebuilds the dex error message was gone.
Select the project in Project Explorer, right-click and select Properties -> Java Build Path -> Source -> Check the box for Allow output folders for source folders
I was basically facing the same issue.
I deleted the BIN folder, then removed unused jar files for Order and Import from eclipse.
IT WORKED after that
I'm late to this party, but adding my own experience so I can find it again later :)
I ran into this problem after upgrading the android sdk and eclipse ad-ins. No upgrade goes unpunished!
The problem for me was related to library projects, my app references both standard java projects and android library projects. I noticed the Java Build Path settings were including the android library projects src and res folders in the Source list (upvotes to everyone that mention bin in source being issue, src and res was also an issue.)
So the solution was:
Remove all referenced Android libraries source and project references from the Java Build Path section of the settings in both Source list and Project list
Make sure pure java dependencies are listed in Project list, and Checked in the Order and Export tab so the classes are included in the apk
Make sure all Android library dependencies are listed on the Android section of project properties, in the library section below the checked SDK versions.
It was along way to piece all that together from the other solutions! Phew!
I ran into this when I upgraded from adt 14 to 15 and to get it to work I ended up just deleting the .eclipse folder (along with my settings) and re-installing the adt 15.
After reading Terrys response about deleting the bin directory and Larrys about the the location of the ANT directory:
I moved the files located in my projects BIN directory to the BIN/CLASSES and im up and running.
Edit 1
Then failed on second run...doh
Edit 2
So closed Eclipse moved files back to original location and its all working... um what?
I don't pretend to know why this worked. Will update if any changes.
Edit 3
I have noted from my backups that there were indeed duplicate files in the BIN directory and BIN/CLASSES.
So the answer is: don't have files in both locations. At least for me that's what worked.
Modify your eclipse.ini file and set the maximum memory parameter to
-Xmx1024m
Then restart your computer.
It worked for me.
found a solution i believe??
[2013-04-28 23:56:09 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/coremedia/iso/AbstractBoxParser$1;
Where it says : "Lcom/coremedia/iso/AbstractBoxParser$1" that just happen to be the location of the library I imported that was causing the issue. Looked for com.codemedia.iso.AbstractBoxParser$1.class and .AbstractBoxParser.class.... took that jar, unpackaged it, removed both of those files, then repackaged as a .zip, added to library, cleaned and worked! no more conflict for me! (also no updates or additional downloads)
I had two different versions of Cordova .jar-files in my libs folder, I deleted the one I wasn't even using and it worked right away.
Weird because I didn't notice that before and it worked before and then suddenly stopped working...
The ADT R14 update changes where the classes go to the bin/classes directory (see http://tools.android.com/recent/buildchangesinrevision14). If you are using ANT, you should change the path for your classes from bin to bin/classes. This worked for me.
Solution for me:
BACK UP YOUR CODE!
Navigate to your project workspace (not your project) and run the following commands:
dev1:workspace$ cd ~/Documents/workspace/.metadata/.plugins/
dev1:workspace$ rm -rf org.eclipse.core.resources
Navigate to your Eclipse directory and type this command:
dev1:eclipse$ ./eclipse clear
Eclipse will start with an empty workspace - don't worry your projects are still there.
Simple create new project from existing resource and things should be gravy.
The exact error I was receiving:
[2012-02-07 14:15:53 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v4/view/PagerAdapter;
[2012-02-07 14:15:53 - ProjectCloud] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v4/view/PagerAdapter;
I have several library projects with the same package name specified in the AndroidManifest (so no duplicate field names are generated by R.java). I had to remove any permissions and activities from the AndroidManifest.xml for all library projects to remove the error so Manifest.java wasn't created multiple times. Hopefully this can help someone.
After trying all the other suggestions with no luck, I deleted all the contents of my projects 'bin' directory, then ran eclipse again and it worked.
I converted a non-library project to a library project, but it had a previously built jar file in the libs folder. Removing this jar file caused this error to go away.
I was facing the same issue then i saw while pushing my app some jar files which were loaded twice hence multiple dex error .Just go to your project properties -> Java Build Path and try unchecking jar which is being loaded twice.
[Solved for me]
by removing the duplicate library "JAR file" then remove BuildConfig.java file, Clean project and its work.

create a jar file - Dalvik error

I have an android project that contains only a .java file. This java file extends the class Services.
I am trying to build a jar file using * *Build Fat JAR**.
I did the following:
right click the project -> select Fat Jar and inside the Configure Fat Jar Plug-In I've selected the OPTION: select Manifest file. With next-> finish I've managed to create the .far file.
PROBLEMS:
The jar icon has a red x mark in front of it. When adding the jar inside another project and when running the application (creating apk) I get the following:
Dx trouble writing output: invalid header field. Conversion to Dalvik format failed with error 3
What am I doing wrong?
Need some help.
Thank yiu
To Create a JAR from a Android project follow below steps
Project -> Properties -> Android -> Check 'Is Library' option.
Now build Project and get jar in 'bin' folder.

Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;

Since updating to ADT 14 I can no longer build my project. It was building fine prior to updating.
The error:
[2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
[2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
Similar issues have been reported and I have tried the suggestions there including
Restarting Eclipse.
Cleaning the project and rebuild - Disable "Project->Build Automatically" option, then "Clean" and "Build" project, then try to run. reset "Build Automatically" option to On
Re-installing the Android Developer Tools
Re-installing Eclipse (updated to the latest version 3.7.1)
Created a new project importing from the file system
Created a new project from subversion.
I had the same problem, quite weird because it was happening only when using Eclipse (but it was OK with Ant).
This is how I fixed it:
Right click on the Project Name
Select Build Path -> Configure Build Path
In Java Build Path, go to the tab Order and Export
Uncheck your .jar library
Only sometimes:
In Order and Export tab I did not have any jar library there, so I have unchecked Android Private Libraries item. Now my project is running.
My problem was resolved after cleaning up some directories and files left over from the previous versions of the tools. ADT Rev 14 changes where binaries are stored. I deleted the entire bin directory, restarted Eclipse and cleaned the build and forced a rebuild. That seemed to do the trick initially but the problem came back after the next run.
I finally discovered that my bin directory was included in the project build path. I excluded bin from the build path and repeated the steps above. This resolved my problem.
[Solved for me]
Eclipse project properties->Java build path->Order and export
Uncheck Android private libraries.
None of the above helped.
It was a simple problem in the end.
I had a project which uses the FacebookSDK and ViewPagerIndicator as library projects.
All were built on Android API 16 and those two projects used the android support library vX (X not being 16!)
I added an external JAR to both those projects and pointed it to \extras\android\v4...
And also removed the v4 jar I had in their libs folders.
Clean all projects and re-build.
Voilla!
The exact error I was receiving: Unable to execute dex: Multiple dex files define Landroid/support/v4/view/PagerAdapter; Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v4/view/PagerAdapter;
This problem was happening me, I had an external .jar in my libs folder called gson-2.2.2.jar but for some reason there were two of them, gson-2.2.2.jar and gson-2.2.2.jar(1), I simply deleted the latter and my project built fine again.
Close eclipse.
Delete bin folder inside your project folder.
Start eclipse and clean your project.
Now run and the problem should be gone
As others have mentioned, this occurs when you have multiple copies of the same class in your build path - including bin/ in your classpath is one way to guarantee this problem.
For me, this occurred when I had added android-support-v4.jar to my libs/ folder, and somehow eclipse added a second copy to bin/classes/android-support-v4.jar.
Deleting the extra copy in bin/classes solved the problem - unsure why Eclipse made a copy there.
You can test for this with
grep -r YourOffendingClassName YourApp | grep jar
For me, I just right click on project -> Build path -> configure build path -> Libraries -> remove dependency
after it works.
This error can happen if you have two jars that contains the same class names, e.g. I had two library: jsr311-api-1.1.1.jar, and jersey-core-1.17.1.jar, both containing the class javax.ws.rs.ApplicationPath. I removed jsr311-api-1.1.1.jar and it worked fine.
I was getting this error after adding the facebooksdk.jar to a project that already had dependencies on the android-support-v4.jar. Since the facebooksdk.jar already includes its own android-support-v4.jar there were conflicts. Removing the earlier android-support-v4.jar from the projects Properties / Java Build Path / Libraries resolved the issue for me.
Go to Project/properties and Java Build Path and unchecked the Android Private Libraries.
Done
I removed Android dependencies from build path and it worked.
Edit: ignore that. I had same jar in my maven dependencies and libs folder. I removed the one at the lib folder.
You have probably installed r14, this error may have been caused due to the platform tools update, you have to re-install your sdk
For me this problem only exists as long as there are Android library projects involved in my project. So when I remove all the libraries and do as you said I can run my app again.
If there are libraries involved even the bin-removal-trick trick won' work.
I don't get why this bug first appeared today since I'm using ADT 14 for several days now. Well there were other bugs that kept me happy though.
Deleting the bin folder was not enough, I also deleted the gen folder. Then after two rebuilds the dex error message was gone.
Select the project in Project Explorer, right-click and select Properties -> Java Build Path -> Source -> Check the box for Allow output folders for source folders
I was basically facing the same issue.
I deleted the BIN folder, then removed unused jar files for Order and Import from eclipse.
IT WORKED after that
I'm late to this party, but adding my own experience so I can find it again later :)
I ran into this problem after upgrading the android sdk and eclipse ad-ins. No upgrade goes unpunished!
The problem for me was related to library projects, my app references both standard java projects and android library projects. I noticed the Java Build Path settings were including the android library projects src and res folders in the Source list (upvotes to everyone that mention bin in source being issue, src and res was also an issue.)
So the solution was:
Remove all referenced Android libraries source and project references from the Java Build Path section of the settings in both Source list and Project list
Make sure pure java dependencies are listed in Project list, and Checked in the Order and Export tab so the classes are included in the apk
Make sure all Android library dependencies are listed on the Android section of project properties, in the library section below the checked SDK versions.
It was along way to piece all that together from the other solutions! Phew!
I ran into this when I upgraded from adt 14 to 15 and to get it to work I ended up just deleting the .eclipse folder (along with my settings) and re-installing the adt 15.
After reading Terrys response about deleting the bin directory and Larrys about the the location of the ANT directory:
I moved the files located in my projects BIN directory to the BIN/CLASSES and im up and running.
Edit 1
Then failed on second run...doh
Edit 2
So closed Eclipse moved files back to original location and its all working... um what?
I don't pretend to know why this worked. Will update if any changes.
Edit 3
I have noted from my backups that there were indeed duplicate files in the BIN directory and BIN/CLASSES.
So the answer is: don't have files in both locations. At least for me that's what worked.
Modify your eclipse.ini file and set the maximum memory parameter to
-Xmx1024m
Then restart your computer.
It worked for me.
found a solution i believe??
[2013-04-28 23:56:09 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/coremedia/iso/AbstractBoxParser$1;
Where it says : "Lcom/coremedia/iso/AbstractBoxParser$1" that just happen to be the location of the library I imported that was causing the issue. Looked for com.codemedia.iso.AbstractBoxParser$1.class and .AbstractBoxParser.class.... took that jar, unpackaged it, removed both of those files, then repackaged as a .zip, added to library, cleaned and worked! no more conflict for me! (also no updates or additional downloads)
I had two different versions of Cordova .jar-files in my libs folder, I deleted the one I wasn't even using and it worked right away.
Weird because I didn't notice that before and it worked before and then suddenly stopped working...
The ADT R14 update changes where the classes go to the bin/classes directory (see http://tools.android.com/recent/buildchangesinrevision14). If you are using ANT, you should change the path for your classes from bin to bin/classes. This worked for me.
Solution for me:
BACK UP YOUR CODE!
Navigate to your project workspace (not your project) and run the following commands:
dev1:workspace$ cd ~/Documents/workspace/.metadata/.plugins/
dev1:workspace$ rm -rf org.eclipse.core.resources
Navigate to your Eclipse directory and type this command:
dev1:eclipse$ ./eclipse clear
Eclipse will start with an empty workspace - don't worry your projects are still there.
Simple create new project from existing resource and things should be gravy.
The exact error I was receiving:
[2012-02-07 14:15:53 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v4/view/PagerAdapter;
[2012-02-07 14:15:53 - ProjectCloud] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v4/view/PagerAdapter;
I have several library projects with the same package name specified in the AndroidManifest (so no duplicate field names are generated by R.java). I had to remove any permissions and activities from the AndroidManifest.xml for all library projects to remove the error so Manifest.java wasn't created multiple times. Hopefully this can help someone.
After trying all the other suggestions with no luck, I deleted all the contents of my projects 'bin' directory, then ran eclipse again and it worked.
I converted a non-library project to a library project, but it had a previously built jar file in the libs folder. Removing this jar file caused this error to go away.
I was facing the same issue then i saw while pushing my app some jar files which were loaded twice hence multiple dex error .Just go to your project properties -> Java Build Path and try unchecking jar which is being loaded twice.
[Solved for me]
by removing the duplicate library "JAR file" then remove BuildConfig.java file, Clean project and its work.

Categories

Resources