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.