¿Cómo ejecutar pruebas de unidad con todos los permisos de Android M concedidos?

¿Hay un complemento gradle que permite opciones de línea de comandos adb cuando se instalan aplicaciones de Android? Estoy buscando para ejecutar pruebas de robotium en un dispositivo Android M, mientras se ignoran los diálogos de permisos que aparecen para pedir permisos de cámara, micrófono, etc.

En build.gradle

task grantPermissions(type: Exec, dependsOn: 'installDebugAndroidTest') { def permissions = ['INTERNET', 'GET_ACCOUNTS', 'WAKE_LOCK', 'VIBRATE', 'READ_CONTACTS', 'RECORD_AUDIO', 'CAMERA', 'WRITE_EXTERNAL_STORAGE', 'READ_EXTERNAL_STORAGE'] permissions.each { commandLine "\$ANDROID_HOME/platform-tools/adb shell pm grant com.singlewire.cirrus android.permission.${it}".split(' ') }} tasks.whenTaskAdded { task -> if (task.name.startsWith('connectedDebugAndroidTest')) { task.dependsOn grantPermissions } } 
 android.productFlavors.all { flavour -> def applicationId = flavour.applicationId def adb = android.getAdbExe().toString() def grantPermissionsTask = tasks.create("grant${flavour.name.capitalize()}Permissions") << { "${adb} shell pm grant ${applicationId} android.permission.ACCESS_FINE_LOCATION".execute() "${adb} shell pm grant ${applicationId} android.permission.ACCESS_COARSE_LOCATION".execute() } grantPermissionsTask.description = "Grants permissions for Marshmallow" tasks.whenTaskAdded { theTask -> def assemblePattern = ~"assemble${flavour.name.capitalize()}DebugAndroidTest" if (assemblePattern.matcher(theTask.name).matches()) { theTask.dependsOn grantPermissionsTask.name } } } 

Usted puede hacerlo para las pruebas de instrumentación, no sólo para las pruebas de unidad. Referencia

  • Gradle - equivalente de test {} bloque de configuración para android
  • Soporte de la clase Robolectric de Android. Cómo tener las referencias de la clase de biblioteca R desde el proyecto de aplicación
  • Mock Android Application class para pruebas con Robolectric en App con Dagger 2
  • ¿Hay alguien por ahí usando Robolectric sin Maven en IntelliJ?
  • ¿Cómo configurar gradle para usar logback-classic SOLAMENTE para las pruebas de unidad en Android?
  • Prueba de unidades de Android en Eclipse: "Error al iniciar la prueba"
  • Prueba de AsyncTaskLoaders con Robolectric
  • Necesito Robolectric y Mockito en mi prueba, cada uno propone su propio TestRunner
  • Crear PDU para Android
  • Pruebas de ejecución automática antes de la compilación de aplicaciones en Android Studio
  • ActivityUnitTestCase arroja RuntimeException cuando se ejecuta con AndroidJUnitRunner
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.