Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MichaelEvans/e6d3f2ef224ab9d9f7fd to your computer and use it in GitHub Desktop.
Save MichaelEvans/e6d3f2ef224ab9d9f7fd to your computer and use it in GitHub Desktop.
afterEvaluate { project ->
android.applicationVariants.each { variant ->
variant.javaCompile.dependsOn stripPlayServices
}
}
task stripPlayServices << {
def explodedDir = project.tasks.findAll { it.name.startsWith("prepare") && it.name.endsWith("Library")}.iterator().next().explodedDir.getParentFile().getParentFile().getParentFile()
def playServiceRootFolder = new File(explodedDir, "com.google.android.gms/play-services/")
playServiceRootFolder.list().each { versionName ->
def versionFolder = new File(playServiceRootFolder, versionName)
copy {
from (file(new File(versionFolder, "classes.jar")))
into (file(versionFolder))
rename { fileName ->
fileName = "classes_orig.jar"
}
}
tasks.create(name: "strip" + versionName, type: Jar) {
destinationDir = versionFolder
archiveName = "classes.jar"
from (zipTree(new File(versionFolder, "classes_orig.jar"))) {
exclude "com/google/ads/**"
exclude "com/google/android/gms/analytics/**"
exclude "com/google/android/gms/games/**"
exclude "com/google/android/gms/plus/**"
exclude "com/google/android/gms/drive/**"
exclude "com/google/android/gms/ads/**"
}
}.execute()
delete {
delete (file(new File(versionFolder, "classes_orig.jar")))
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment