2
votes

I did my best to import a project from intelij and I get this really long error that I can't make any sense of. I tried doing a "invalidate and restart" and got the same error. I don't know what if any of my build files are relevant to this error, if you have a suggestion let me know and I will update with it.

Error:Execution failed for task ':app:dexDebug'.

com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:\Users\Nick\AppData\Local\Android\android-sdk\build-tools\20.0.0\dx.bat --dex --no-optimize --output C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\dex\debug C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\classes\debug C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\support-annotations-21.0.2-0a182725e9aa175cb2c9765c57055aaa824304e6.jar C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\picasso-2.1.1-ca3ca17668b6992af9c01975b92b9bf572784f6a.jar C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\libGoogleAnalyticsV2-767507628f16b98644c7df4c6626869f426ce4e7.jar C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\internal_impl-21.0.2-a8cad4df1b726255aab2a982204a5f72da2f18c3.jar C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\amazon-ads-5.4.46-736982c75f8a8e92a0ad571df866edd9f053f48a.jar C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\android-support-v4-570a9308b85abcb60e3a8fe6408341585e0080ba.jar C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\classes-886dcf9785070a0ce74d9b194160c2ed98e7f5a6.jar C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\android-support-v7-47c2bab1cd06319a40ed131420476fad110b3621.jar C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\classes-cde05798e7e54ac95eab6032df408c4025bb501c.jar C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\libGoogleAnalyticsServices-4179946d7621a48fc3cc005840f233ec074f4ad9.jar C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\pre-dexed\debug\classes-e97fdf43369bbf65731abaad5e4fd840d08f90a7.jar Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170) at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287) at com.android.dx.command.dexer.Main.run(Main.java:230) at com.android.dx.command.dexer.Main.main(Main.java:199) at com.android.dx.command.Main.main(Main.java:103)

changing build tools to 21.1.1 causes this error:

Error:Execution failed for task ':app:dexDebug'.

com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:\Users\Nick\AppData\Local\Android\android-sdk\build-tools\21.1.1\dx.bat --dex --no-optimize --output C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\dex\debug --input-list=C:\Users\Nick\AndroidStudioProjects\NameThatPlaneQuiz\app\build\intermediates\tmp\dex\debug\inputList.txt Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lcom/google/analytics/tracking/android/AnalyticsClient; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302) at com.android.dx.command.dexer.Main.run(Main.java:245) at com.android.dx.command.dexer.Main.main(Main.java:214) at com.android.dx.command.Main.main(Main.java:106)

1
What are your dependencies? Try running gradlew.bat androidDependencies from a command line in your root project directory. - ianhanniballake
I have 3 libraries contained in .jar files that I added from the "project structure" dialog. In the build.gradle files for the modules created when I imported the .jar files on the top it says "This folder does not belong to a gradle project. Make sure it is registered in Settings.gradle". In my Settings.gradle file it says include '...' for each module - ez4nick
Suggestion: Download latest build tools (21.1.1). You use 20.0.0. - Eugen Pechanec

1 Answers

0
votes
com.android.dex.DexException: Multiple dex files define
com/google/analytics/tracking/android/AnalyticsClient

The error is due to multiple dependencies (jars, aars, or projects) containing the Google Analytics library. This could be because:

  1. Sometimes the intermediate build files get in a weird/bad state, particularly if you're adjusting dependencies or changing your build tools without cleaning. Go to Build->clean project, or run `./gradlew clean', then try to build again.
  2. You're referencing the same library twice (for example you're including the Google Analytics jar, AND you're using the gradle/maven artifact). Remove one or the other.
  3. Least likely - two different libraries/dependencies actually contain Google Analytics. You can manually inspect the jar/aar files to see what packages they contain either by using a utility like JD-GUI, or more easily you can look in Android Studio at your project's build folder (typically build/intermediates) to see if you have duplicate entries for the package referenced in the error you posted.

If #1 doesn't work, I'd start by auditing all of your project's dependencies. In general I stay away from the project structure dialog and just manually edit the .gradle files. I suggest adding redacted version of your .gradle file(s) to your question.