title: Jacoco Code Coverage in android studio
body: <p>I am trying to generate Jacoco code coverage report. 
  I have used AndroidTestCase for my test classes. </p>
  
  <p>I have found using testCoverageEnabled true and using default android -studio default jacoco, 
  ./gradlew connectedCheck or createDebugCoverageReport 
  create the percentage of successfull/fail test cases, but no coverage report.</p>
  
  <p>Then I have tried jacoco {toolVersion "0.7.1.201405082137"}, and task jacocoTestReport(type:JacocoReport, dependsOn: "testDebug"). I have tried to change the dependsOn value with various task. The report shows 0 (zero) test coverage, which is impossible because at least half of all classes are tested. </p>
  
  <p>I have followed various accepted answer of stack overflow in last couple of days. The result is negative. </p>
  
  <p>My gradle file:</p>
  
  <pre><code>buildscript {
      repositories {
          mavenLocal()
          mavenCentral()
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:1.0.0'        
      }
  }
  
  apply plugin: 'com.android.application'
  apply plugin: 'jacoco'
  
  android {
      compileSdkVersion 21
      buildToolsVersion "21.1.2"
  
      defaultConfig {
          applicationId "test.gradle.com.myapplicationtestgradle"
          minSdkVersion 21
          targetSdkVersion 21
          versionCode 1
          versionName "1.0"
      }
  
      buildTypes {
          release {
              minifyEnabled false            
              proguardFiles getDefaultProguardFile(
              'proguard-android.txt'), 'proguard-rules.pro'
          }
          debug {
              testCoverageEnabled true
          }
      }
  
      jacoco {
          version "0.7.1.201405082137"
      }
  
      packagingOptions {
          exclude 'LICENSE.txt'
      }
  }
  
  
  jacoco {
      toolVersion "0.7.1.201405082137"
  }
  
  task jacocoTestReport(type:JacocoReport, dependsOn: "testDebug") {
      group = "Reporting"
  
      description = "Generate Jacoco coverage reports"
  
     // exclude auto-generated classes and tests
      def fileFilter = ['**/R.class', '**/R$*.class', 
      '**/BuildConfig.*', '**/Manifest*.*',           
       'android/**/*.*']
      def debugTree = fileTree(dir:   
      "${project.buildDir}/intermediates/classes/debug", 
      excludes: fileFilter)
      def mainSrc = "${project.projectDir}/src/main/java"
  
      sourceDirectories = files([mainSrc])
      classDirectories = files([debugTree])
      additionalSourceDirs = files([
              "${buildDir}/generated/source/buildConfig/debug",
              "${buildDir}/generated/source/r/debug"
      ])
      executionData = fileTree(dir: project.projectDir, includes: 
                      ['**/*.exec', '**/*.ec'])
  
      reports {
          xml.enabled = true
          xml.destination = "${buildDir}/jacocoTestReport.xml"
          csv.enabled = false
          html.enabled = true
          html.destination = "${buildDir}/reports/jacoco"
      }
  }
  
  
  dependencies {
      compile fileTree(dir: 'libs', include: ['*.jar'])
      androidTestCompile('junit:junit:4.11') {
          exclude module: 'hamcrest-core'
      }
  }
  </code></pre>