apply plugin: 'com.android.application' android { ... } dependencies { ... } android.applicationVariants.all { variant -> task "fix${variant.name.capitalize()}MainDexClassList" << { logger.info "Fixing main dex keep file for $variant.name" FilekeepFile=newFile("$buildDir/intermediates/multi-dex/$variant.buildType.name/maindexlist.txt") keepFile.withWriterAppend { w -> // Get a reader for the input file w.append('\n') newFile("${projectDir}/multidex.keep").withReader { r -> // And write data from the input into the output w << r << '\n' } logger.info "Updated main dex keep file for ${keepFile.getAbsolutePath()}\n$keepFile.text" } } } tasks.whenTaskAdded { task -> android.applicationVariants.all { variant -> if (task.name == "create${variant.name.capitalize()}MainDexClassList") { task.finalizedBy "fix${variant.name.capitalize()}MainDexClassList" } } }