def robolectricDependenciesFolder = new File(rootProject.buildDir, "robolectric-3.3-dependencies") configurations.create('robolectricRuntime') dependencies { testCompile "org.khronos:opengl-api:gl1.1-android-2.1_r1" robolectricRuntime "org.robolectric:android-all:7.1.0_r7-robolectric-0" robolectricRuntime "org.robolectric:shadows-core:3.3" robolectricRuntime "org.robolectric:robolectric-utils:3.3" robolectricRuntime "org.robolectric:robolectric-resources:3.3" robolectricRuntime "org.robolectric:robolectric-processor:3.3" robolectricRuntime "org.robolectric:robolectric-sandbox:3.3" robolectricRuntime "org.robolectric:shadows-support-v4:3.3" robolectricRuntime "org.robolectric:shadows-multidex:3.3" robolectricRuntime "org.robolectric:shadows-play-services:3.3" robolectricRuntime "org.robolectric:shadows-maps:3.3" } rootProject.task(type: Copy, overwrite: true, "downloadRobolectricDependencies") { println "downloadRobolectricDependencies into " + robolectricDependenciesFolder from configurations.robolectricRuntime into robolectricDependenciesFolder } project.afterEvaluate { tasks.all { if (it.name.startsWith("test")) { it.dependsOn(rootProject.tasks.findByName("downloadRobolectricDependencies")) } } } android { testOptions { unitTests.all { systemProperty 'robolectric.offline', 'true' systemProperty 'robolectric.dependency.dir', robolectricDependenciesFolder } } }