def publish = project.tasks.create("copyReleaseApkToCustomDir") publish.description "Copies release apk to custom directory" android.applicationVariants.all { variant -> if (variant.buildType.name.equals("release")) { variant.outputs.each { output -> if ( output.outputFile != null && output.outputFile.name.endsWith('.apk')) { def task = project.tasks.create("copyAndRename${variant.name}Apk", Copy) def outputFile = output.outputFile println "Creating " + rootProject.name + "-${versionName}.apk" + " from " + project.name + "-${variant.name}.apk" def fileName = outputFile.name.replace(project.name + "-${variant.name}.apk", rootProject.name +"-${versionName}.apk") output.outputFile = new File(outputFile.parent, fileName) println "Copying "+ rootProject.name + "-${versionName}.apk" + " to apk directory..." task.from(output.outputFile) task.into(buildDir.parent + "/../apk") println "Done" task.dependsOn variant.assemble publish.dependsOn task } } } }