title: Unable to merge dex in android studio 3.0.1 with latest gradle
body: <p>So I have tried to add the multidexenabled to my build.gradle file, invalidate caches and restart, clean project and build project and deleting all gradle cache folders. Can anyone see anything wrong with my gradle file?</p>
  
  <p>Here is my exact error:</p>
  
  <pre><code>Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
  &gt; java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
  </code></pre>
  
  <p>App file  </p>
  
  <pre><code>apply plugin: 'com.android.application'
  apply plugin: 'com.google.protobuf'
  
  ext {
      supportLibraryVersion = '27.0.1'
      grpcVersion = '1.4.0'
  }
  
  repositories {
      maven { url "https://plugins.gradle.org/m2/" }
  }
  
  android {
      compileSdkVersion 27
      defaultConfig {
          applicationId "aviraj.firebaseapp"
          minSdkVersion 21
          targetSdkVersion 27
          versionCode 1
          versionName "1.0"
          testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
          multiDexEnabled true
  
          dexOptions {
  
              jumboMode true
              javaMaxHeapSize "4g"
  
          }
          javaCompileOptions {
              annotationProcessorOptions {
                  includeCompileClasspath false
              }
          }
  
      }
      buildTypes {
          release {
              minifyEnabled false
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
  
      }
  
      signingConfigs {
          release {
              storeFile file(project.properties.storeFile)
              storePassword project.properties.storePassword
              keyAlias project.properties.keyAlias
              keyPassword project.properties.keyPassword
          }
      }
  
      configurations.all {
          resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.2'
          resolutionStrategy.force "com.android.support:support-annotations:$supportLibraryVersion"
      }
  
  
  }
  
  dependencies {
      implementation fileTree(dir: 'libs', include: ['*.jar'])
      //noinspection GradleCompatible
      implementation 'com.android.support:appcompat-v7:27.0.1'
      implementation 'com.android.support:mediarouter-v7:27.0.1'
      implementation 'com.android.support.constraint:constraint-layout:1.0.2'
  
      implementation 'com.google.cloud:google-cloud-speech:0.30.0-alpha'
      implementation 'com.google.apis:google-api-services-speech:v1-rev21-1.23.0'
  
  
      implementation 'com.google.firebase:firebase-core:11.4.2'
      implementation 'com.google.firebase:firebase-auth:11.4.2'
      testImplementation 'junit:junit:4.12'
      androidTestImplementation 'com.android.support.test:runner:1.0.1'
      androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
      implementation 'com.android.support:design:27.0.1'
      implementation 'com.google.android.gms:play-services-auth:11.4.2'
      implementation fileTree(dir: 'libs', include: ['*.jar'])
  
  
      //noinspection GradleCompatible
      implementation "com.android.support:cardview-v7:$supportLibraryVersion"
      implementation "com.android.support:recyclerview-v7:$supportLibraryVersion"
  
      // gRPC
      implementation "io.grpc:grpc-okhttp:$grpcVersion"
      implementation('io.grpc:grpc-protobuf-lite:$grpcVersion') { exclude module: "protobuf-lite" }
      implementation "io.grpc:grpc-stub:$grpcVersion"
      implementation 'javax.annotation:javax.annotation-api:1.3.1'
      implementation 'com.google.protobuf:protobuf-java:3.4.0'
  
      implementation 'com.android.support:multidex:1.0.2'
      implementation 'com.android.support:multidex-instrumentation:1.0.2'
  
      // OAuth2 for Google API
      implementation('com.google.auth:google-auth-library-oauth2-http:0.7.0') {
          exclude module: 'httpclient'
      }
  
  }
  
  protobuf {
      protoc {
          artifact = 'com.google.protobuf:protoc:3.3.0'
      }
      plugins {
          javalite {
              artifact = "com.google.protobuf:protoc-gen-javalite:3.0.0"
          }
          grpc {
              artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
          }
      }
      generateProtoTasks {
          all().each { task -&gt;
              task.plugins {
                  javalite {}
                  grpc {
                      // Options added to --grpc_out
                      option 'lite'
                  }
              }
          }
      }
  }
  
  task copySecretKey(type: Copy) {
      def File secretKey = file "$System.env.GOOGLE_APPLICATION_CREDENTIALS"
      from secretKey.getParent()
      include secretKey.getName()
      into 'src/main/res/raw'
      rename secretKey.getName(), "credential.json"
  }
  preBuild.dependsOn(copySecretKey)
  
  
  apply plugin: 'com.google.gms.google-services'
  </code></pre>
  
  <p>Project file</p>
  
  <pre><code>// Top-level build file where you can add configuration options common to all sub-projects/modules.
  
  buildscript {
  
      repositories {
          google()
          jcenter()
  
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:3.0.1'
          classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.3'
          classpath 'com.google.gms:google-services:3.1.2'
  
          // NOTE: Do not place your application dependencies here; they belong
          // in the individual module build.gradle files
      }
  }
  
  allprojects {
      repositories {
          google()
          jcenter()
  
          maven {
              url "https://maven.google.com" // Google's Maven repository
          }
      }
  
  }
  
  task clean(type: Delete) {
      delete rootProject.buildDir
  }
  </code></pre>
  
  <p>I have looked at many other questions and answers on here but cannot seem to find a solution that will rectify the problem :(</p>
  
  <p>Logcat.txt</p>
  
  <pre><code>    11-29 15:01:45.332 3192-3192/aviraj.firebaseapp E/libprocessgroup: failed to make and chown /acct/uid_10058: Read-only file system
  11-29 15:01:45.332 3192-3192/aviraj.firebaseapp W/Zygote: createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?
  11-29 15:01:45.333 3192-3192/aviraj.firebaseapp I/art: Not late-enabling -Xcheck:jni (already on)
  11-29 15:01:46.509 3192-3192/aviraj.firebaseapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
  11-29 15:01:46.512 3192-3192/aviraj.firebaseapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
  11-29 15:01:46.690 3192-3207/aviraj.firebaseapp W/art: Suspending all threads took: 18.126ms
  11-29 15:01:46.695 3192-3192/aviraj.firebaseapp I/BiChannelGoogleApi: [FirebaseAuth: ] No Fallback module; NOT setting up for lazy initialization
  11-29 15:01:46.699 3192-3207/aviraj.firebaseapp I/art: Background sticky concurrent mark sweep GC freed 2654(220KB) AllocSpace objects, 0(0B) LOS objects, 22% free, 870KB/1117KB, paused 20.288ms total 38.896ms
  11-29 15:01:46.737 3192-3192/aviraj.firebaseapp D/FirebaseAuth: Notifying id token listeners about user ( dPtIj9CudnMzI3SRp9NVzA2609P2 ).
  11-29 15:01:46.753 3192-3213/aviraj.firebaseapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
  11-29 15:01:46.765 3192-3192/aviraj.firebaseapp D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
  11-29 15:01:46.787 3192-3213/aviraj.firebaseapp I/FirebaseAuth: [FirebaseAuth:] Loading module via FirebaseOptions.
  11-29 15:01:46.788 3192-3213/aviraj.firebaseapp I/FirebaseAuth: [FirebaseAuth:] Preparing to create service connection to gms implementation
  11-29 15:01:47.120 3192-3192/aviraj.firebaseapp I/FirebaseInitProvider: FirebaseApp initialization successful
  11-29 15:01:47.121 3192-3192/aviraj.firebaseapp I/InstantRun: starting instant run server: is main process
  11-29 15:01:47.137 3192-3216/aviraj.firebaseapp I/FA: App measurement is starting up, version: 11717
  11-29 15:01:47.138 3192-3216/aviraj.firebaseapp I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
  11-29 15:01:47.138 3192-3216/aviraj.firebaseapp I/FA: To enable faster debug mode event logging run:
                                                          adb shell setprop debug.firebase.analytics.app aviraj.firebaseapp
  11-29 15:01:47.479 3192-3192/aviraj.firebaseapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
  11-29 15:01:47.814 3192-3207/aviraj.firebaseapp I/art: Background sticky concurrent mark sweep GC freed 1024(125KB) AllocSpace objects, 0(0B) LOS objects, 8% free, 2MB/2MB, paused 6.067ms total 17.836ms
  11-29 15:01:47.851 3192-3207/aviraj.firebaseapp W/art: Suspending all threads took: 5.990ms
  11-29 15:01:47.856 3192-3207/aviraj.firebaseapp I/art: Background sticky concurrent mark sweep GC freed 2815(100KB) AllocSpace objects, 0(0B) LOS objects, 5% free, 2MB/2MB, paused 8.159ms total 18.179ms
  11-29 15:01:47.895 3192-3192/aviraj.firebaseapp I/TextInputLayout: EditText added is not a TextInputEditText. Please switch to using that class instead.
  11-29 15:01:47.901 3192-3192/aviraj.firebaseapp I/TextInputLayout: EditText added is not a TextInputEditText. Please switch to using that class instead.
  11-29 15:01:47.941 3192-3216/aviraj.firebaseapp I/FA: Tag Manager is not found and thus will not be used
  11-29 15:01:47.980 3192-3220/aviraj.firebaseapp D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
  11-29 15:01:47.983 3192-3192/aviraj.firebaseapp D/gralloc_ranchu: Emulator without host-side GPU emulation detected. Loading gralloc.default.so from /vendor/lib/hw/gralloc.default.so...
  11-29 15:01:47.983 3192-3192/aviraj.firebaseapp D/gralloc_ranchu: gralloc.default.so not found in /vendor. Trying /system/lib/hw/gralloc.default.so...
  11-29 15:01:47.983 3192-3192/aviraj.firebaseapp D/Atlas: Validating map...
  11-29 15:01:47.987 3192-3192/aviraj.firebaseapp D/FirebaseApp: Notifying auth state listeners.
  11-29 15:01:47.988 3192-3192/aviraj.firebaseapp D/FirebaseApp: Notified 0 auth state listeners.
  11-29 15:01:48.044 3192-3220/aviraj.firebaseapp I/OpenGLRenderer: Initialized EGL, version 1.4
  11-29 15:01:48.047 3192-3220/aviraj.firebaseapp D/OpenGLRenderer: Enabling debug mode 0
  11-29 15:01:48.134 3192-3192/aviraj.firebaseapp W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
  11-29 15:01:49.236 3192-3192/aviraj.firebaseapp I/Choreographer: Skipped 64 frames!  The application may be doing too much work on its main thread.
  11-29 15:06:48.122 3192-3213/aviraj.firebaseapp I/FirebaseAuth: [FirebaseAuth:] Loading module via FirebaseOptions.
  11-29 15:06:48.122 3192-3213/aviraj.firebaseapp I/FirebaseAuth: [FirebaseAuth:] Preparing to create service connection to gms implementation
  11-29 15:23:26.747 3192-3192/aviraj.firebaseapp I/Choreographer: Skipped 36 frames!  The application may be doing too much work on its main thread.
  </code></pre>
  
  <p>proguard-rules.pro</p>
  
  <pre><code># Suppress warnings from gRPC dependencies
  -dontwarn com.google.common.**
  -dontwarn com.google.api.client.**
  -dontwarn com.google.protobuf.**
  -dontwarn io.grpc.**
  -dontwarn okio.**
  -dontwarn com.google.errorprone.annotations.**
  -dontwarn com.google.android.gms.**
  -keep class com.google.android.gms.** { *; }
  -keep class com.google.firebase.**
  -keep class io.grpc.internal.DnsNameResolveProvider
  -keep class io.grpc.okhttp.OkHttpChannelProvider
  </code></pre>
  
  <p>Here are the full list of my gradle dependencies:</p>
  
  <p><a href="https://pastebin.com/wEqv1PVM" rel="nofollow noreferrer">Gradle Dependencies - Pastebin</a></p>