Whever I try to debug and deploy my android application (in Android Studio 0.9) I get the following error:
Execution failed for task ':app:packageAllDebugClassesForMultiDex'. java.util.zip.ZipException: duplicate entry: android/support/multidex/BuildConfig.class
To make things clear here is a brief history of my actions:
Unable to execute dex: method ID not in [0, 0xffff]: 65536
Since then I keep getting the described error just after adding multiDex to my project by following this SO post Using Gradle to split external libraries in separated dex files to solve Android Dalvik 64k methods limit.
Here is my build.gradle file:
apply plugin: 'com.android.application' repositories { jcenter() } android { compileSdkVersion 21 buildToolsVersion '21.1.0' defaultConfig { applicationId "com.stackoverflow.application" minSdkVersion 15 targetSdkVersion 21 versionCode 1 versionName "1.0" multiDexEnabled = true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } dexOptions { preDexLibraries = false } } afterEvaluate { tasks.matching { it.name.startsWith('dex') }.each { dx -> if (dx.additionalParameters == null) { dx.additionalParameters = [] } dx.additionalParameters += '--multi-dex' dx.additionalParameters += "--main-dex-list=$projectDir/<filename>".toString() // enable the main-dex-list } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':viewPagerIndicatorLibrary') compile 'com.google.android:multidex:0.1' compile 'com.j256.ormlite:ormlite-android:4.48' compile 'com.j256.ormlite:ormlite-core:4.48' compile 'de.greenrobot:eventbus:2.2.1' compile 'se.emilsjolander:stickylistheaders:2.5.1' compile 'joda-time:joda-time:2.5' compile 'com.makeramen:roundedimageview:1.4.0' compile 'javax.inject:javax.inject:1' compile 'com.squareup.picasso:picasso:2.3.4' compile 'com.googlecode.libphonenumber:libphonenumber:6.3.1' compile('com.google.api-client:google-api-client-gson:1.18.0-rc') { exclude module: 'httpclient' } compile 'com.google.android.gms:play-services:6.1.71' compile('com.google.api-client:google-api-client:1.17.0-rc') { exclude(group: 'xpp3', module: 'xpp3') exclude(group: 'org.apache.httpcomponents', module: 'httpclient') exclude(group: 'junit', module: 'junit') exclude(group: 'com.google.android', module: 'android') } compile('com.google.api-client:google-api-client-android:1.17.0-rc') { exclude(group: 'com.google.android.google-play-services', module: 'google-play-services') } compile('com.google.http-client:google-http-client-android:1.17.0-rc') { exclude(group: 'com.google.android', module: 'android') } compile 'com.google.guava:guava:18.0' }
I also have another project dependencies to use the viewPagerIndicator library as well as a few jars in my /libs folder:
Any advice on how I could resolve this problem without removing any of my needed dependencies is welcomed !
util. zip Description. Provides classes for reading and writing the standard ZIP and GZIP file formats. Also includes classes for compressing and decompressing data using the DEFLATE compression algorithm, which is used by the ZIP and GZIP file formats.
Thread is a bit old, but I got this error too.
My problem was that I used two different com.google.android.gms:play-services Versions in my gradle file.
compile 'com.google.android.gms:play-services-gcm:7.5.0' compile 'com.google.android.gms:play-services-analytics:7.3.0' // WRONG!
Make sure, that you always use same versions like:
compile 'com.google.android.gms:play-services-gcm:7.5.0' compile 'com.google.android.gms:play-services-analytics:7.5.0'
Edit: This is a bug and a fix is due. See https://code.google.com/p/android/issues/detail?id=81804
I have this problem too, and I don't have an answer. But here's what I can add:
The class BuildConfig
is a magic class generated as part of the build process. For some reason, there exists a version with the same fully-qualified name (android.support.multidex.BuildConfig
) in both mutildex-1.0.0
and multidex-instrumentation-1.0.0
aars.
I don't believe we have done anything wrong. I think this is a symptom of being on the cutting-edge. I raised a bug report.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With