title: Proguard minifyEnabled true for debug build, not working on pre-Lollipop
body: <p>The methods count of my app is higher than the 64k limit, so I'm using Proguard to reduce it.</p>
  
  <p>Everything works fine for release builds.<br/>
  Debug builds, on the other hand, are successful only for Lollipop+ devices. When launching on pre-Lollipop devices I always have the infamous error:</p>
  
  <p><code>com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536</code></p>
  
  <p>This is what I have in the app level gradle file: </p>
  
  <pre><code>buildTypes {
          debug {
              minifyEnabled true
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
          release {
              shrinkResources true
              minifyEnabled true
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
  </code></pre>
  
  <p>I've tried removing <code>minifyEnabled true</code> in the debug build, and then the build fails also on Lollipop+, therefore proguard is working! but not on pre-Lollipop.</p>
  
  <p>For what i know <code>minifyEnabled</code> should not be platform dependent, so maybe the build process skips it (for I don't know what reason) on pre-Lollipop devices.</p>
  
  <p>Anyone knows a solution to this issue?</p>
  
  <p>ps. I'm aware of the multidex possibility, but I'm leaving it as my last resort.</p>
  
  <p>EDIT:</p>
  
  <p>This is the full code of the app level gradle file:</p>
  
  <pre><code>apply plugin: 'com.android.application'
  apply plugin: 'android-apt'
  apply plugin: 'me.tatarka.retrolambda'
  
  buildscript {
      repositories {
          mavenCentral()
      }
  
      dependencies {
          classpath 'me.tatarka:gradle-retrolambda:3.2.5'
          classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.5.5'
      }
  }
  
  android {
      compileSdkVersion 24
      buildToolsVersion "23.0.3"
      defaultConfig {
          applicationId "com.pierfrancescosoffritti.shuffly"
          minSdkVersion 16
          targetSdkVersion 24
          versionCode 30
          versionName "0.13"
      }
      buildTypes {
          debug {
              minifyEnabled true
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
          release {
              shrinkResources true
              minifyEnabled true
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
      compileOptions {
          sourceCompatibility JavaVersion.VERSION_1_8
          targetCompatibility JavaVersion.VERSION_1_8
      }
  }
  
  def dbflow_version = "3.1.1"
  
  dependencies {
      compile fileTree(include: ['*.jar'], dir: 'libs')
      testCompile 'junit:junit:4.12'
      apt 'com.jakewharton:butterknife-compiler:8.2.1'
      apt "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
      compile "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}"
      compile "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}"
  
      compile 'com.android.support:support-v4:24.1.1'
      compile 'com.android.support:design:24.1.1'
      compile 'com.android.support:recyclerview-v7:24.1.1'
      compile 'com.android.support:cardview-v7:24.1.1'
      compile 'com.android.support:palette-v7:24.1.1'
      compile 'com.jakewharton:butterknife:8.2.1'
      compile 'com.github.PierfrancescoSoffritti:AndroidUtils:0.5'
      compile 'com.github.PierfrancescoSoffritti:SlidingDrawer:0.10'
      compile 'com.github.PierfrancescoSoffritti:WebBasedOAuth:0.7'
      compile 'com.github.PierfrancescoSoffritti:ShrinkingImageLayout:0.4'
      compile 'com.github.PierfrancescoSoffritti:ExpandableLayout:0.1'
      compile 'com.google.apis:google-api-services-youtube:v3-rev177-1.22.0'
      compile 'com.google.api-client:google-api-client-android:1.20.0'
      compile 'io.reactivex:rxandroid:1.2.1'
      compile 'io.reactivex:rxjava:1.1.8'
      compile 'com.squareup.picasso:picasso:2.5.2'
      compile 'com.github.Commit451:ElasticDragDismissLayout:1.0.4'
      compile 'com.google.firebase:firebase-core:9.2.1'
      compile 'com.google.firebase:firebase-crash:9.2.1'
      compile 'com.google.firebase:firebase-ads:9.2.1'
      compile 'com.artemzin.rxjava:proguard-rules:1.1.8.0'
  }
  
  apply plugin: 'com.google.gms.google-services'
  apply plugin: 'com.getkeepsafe.dexcount'
  </code></pre>
  
  <p>project level gradle file:</p>
  
  <pre><code>buildscript {
      repositories {
          jcenter()
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:2.1.2'
          classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
          classpath 'com.google.gms:google-services:3.0.0'
          classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.5.5'
      }
  }
  
  allprojects {
      repositories {
          jcenter()
          maven { url "https://jitpack.io" }
      }
  }
  
  task clean(type: Delete) {
      delete rootProject.buildDir
  }
  </code></pre>
  
  <p>proguard rules:</p>
  
  <pre><code># retrolambda
  -dontwarn java.lang.invoke.*
  
  # picasso
  -dontwarn com.squareup.okhttp.**
  
  # adMob
  -keep public class com.google.android.gms.ads.** {
     public *;
  }
  -keep public class com.google.ads.** {
     public *;
  }
  
  # GoogleApiClient
  # Needed to keep generic types and @Key annotations accessed via reflection
  -keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault
  -keepclassmembers class * {
    @com.google.api.client.util.Key &lt;fields&gt;;
  }
  # Needed by google-http-client-android when linking against an older platform version
  -dontwarn com.google.api.client.extensions.android.**
  # Needed by google-api-client-android when linking against an older platform version
  -dontwarn com.google.api.client.googleapis.extensions.android.**
  # Needed by google-play-services when linking against an older platform version
  -dontwarn com.google.android.gms.**
  # com.google.client.util.IOUtils references java.nio.file.Files when on Java 7+
  -dontnote java.nio.file.Files, java.nio.file.Path
  # Suppress notes on LicensingServices
  -dontnote **.ILicensingService
  # Suppress warnings on sun.misc.Unsafe
  -dontnote sun.misc.Unsafe
  -dontwarn sun.misc.Unsafe
  
  # DBFlow
  -keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
  </code></pre>