If I run ProjectA:connectedAndroidTest from a clean build the unit tests 
run fine.  If I modify some code in ProjectA (not the unit test code) and 
run ProjectA:connectedAndroidTest a second time I get this error:

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define 
Landroid/support/v13/app/FragmentCompatICS;
        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:303)
        at com.android.dx.command.dexer.Main.run(Main.java:246)
        at com.android.dx.command.dexer.Main.main(Main.java:215)
        at com.android.dx.command.Main.main(Main.java:106)
        
This is ProjectA's complete dependency tree

+--- project :Project1
|    \--- project :Project2
|         +--- project :Project3
|         |    +--- project :Project4
|         |    +--- project :Project5
|         |    +--- project :Project6
|         |    +--- project :Project7
|         |    |    +--- project :Project4
|         |    |    \--- project :Project8
|         |    \--- com.android.support:support-v13:22.2.+ -> 22.2.1
|         |         \--- com.android.support:support-v4:22.2.1
|         |              \--- com.android.support:support-annotations:22.2.1
|         +--- project :Project8
|         \--- project :Project7 (*)
+--- project :Project9
|    +--- project :Project10
|    |    \--- project :Project8
|    +--- project :Project11
|    |    \--- project :Project4
|    +--- project :Project2 (*)
|    +--- project :Project12
|    |    +--- project :Project4
|    |    +--- project :Project13
|    |    +--- project :Project7 (*)
|    |    \--- project :Project11 (*)
|    +--- project :Project7 (*)
|    \--- project :Project14
|         +--- project :Project15
|         |    \--- com.android.support:support-v13:22.2.+ -> 22.2.1 (*)
|         +--- project :Project4
|         +--- project :Project12 (*)
|         +--- project :Project3 (*)
|         +--- project :Project16
|         |    \--- project :Project3 (*)
|         \--- project :Project2 (*)
+--- project :Project14 (*)
+--- project :Project17
|    +--- project :Project18
|    +--- project :Project2 (*)
|    \--- project :Project7 (*)
+--- project :Project19
+--- project :Project20
+--- project :Project21
|    \--- project :Project4
+--- project :Project22
|    +--- project :Project4
|    +--- project :Project3 (*)
|    \--- project :Project15 (*)
+--- project :Project23
|    \--- project :Project9 (*)
+--- project :Project24
|    \--- project :Project4
+--- project :Core:Destinations
|    \--- project :Project14 (*)
\--- project :Project25
     +--- project :Project7 (*)
     +--- project :Project3 (*)
     +--- project :Project12 (*)
     +--- project :Project4
     \--- project :Project14 (*)

As you can see the support-v13 library is added twice but they are the same 
exact version. I assume it should not be adding the same library twice to 
the final APK and dex should not complain.  Cleaning in between runs makes 
the error go away but then it pops up again in the subsequent build.

Adding this block to ProjectA's build.gradle file fixes it, but I feel that 
I should not have to turn off pre-dexing to get these tests to run.

android{
    dexOptions{
        preDexLibraries = false
    }
}

Gradle version: 2.5
Android gradle plugin version: 1.2
OS: Windows 10

Any help would be appreciated, thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to