Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat
Run gradle -q dependencies
(or gradle -q :projectName:dependencies
) to generate a dependency report. You should see where r7
is coming from, such as:
compile - Classpath for compiling the main sources.
+--- com.commonsware.cwac:camera-v9:0.5.4
| +--- com.actionbarsherlock:actionbarsherlock:4.4.0
| | \--- com.google.android:support-v4:r7
| +--- com.commonsware.cwac:camera:0.5.4
| \--- com.android.support:support-v4:18.0.+ -> 18.0.0
\--- com.android.support:support-v4:18.0.+ -> 18.0.0
Then, use the exclude
directive to block that dependency. In my case, it is coming from my CWAC-Camera library, and so I use:
dependencies {
compile('com.commonsware.cwac:camera-v9:0.5.4') {
exclude module: 'support-v4'
}
compile 'com.android.support:support-v4:18.0.+'
}
(where the second compile
statement indicates what version you actually want)
That should clear matters up, as you will see if you run the dependency report again:
compile - Classpath for compiling the main sources.
+--- com.commonsware.cwac:camera-v9:0.5.4
| +--- com.actionbarsherlock:actionbarsherlock:4.4.0
| \--- com.commonsware.cwac:camera:0.5.4
\--- com.android.support:support-v4:18.0.+ -> 18.0.0
I solved similar error by adding following piece of code to my build.gradle file inside the android block.
android {
dexOptions {
preDexLibraries = false
}
}
Since A picture is worth a thousand words
To make it easier and faster to get this task done with beginners like me. this is the screenshots that shows the answer posted by @edsappfactory.com that worked for me:
First open the Gradle view on the right side of Androidstudio, in your app's item go to Tasks
then Android
then right-click androidDependencies
then choose Run
:
Second you will see something like this :
The main reason i posted this that it was not easy to know where to execute a gradle
task or the commands posted above. So this is where to excute them as well.
SO, to execute gradle command:
First:
Second:
Easy as it is.
Thats it.
Thank you.