Testes JaCoCo + Mockito + Android: cobertura zero relatada

Sei que existem algumas perguntas (e respostas) para este tópico, mas tentei de tudo que encontrei no SO e em outros sites e não encontrei uma maneira de fazer com que o JaCoCo incluísse cobertura para testes do Android que usam o Mockito.

Meu problema: quero usar o JaCoCo para gerar cobertura de código dos testes de unidade e de instrumentação (androidTest). Estou usando o Mockito para zombar de algumas das classes. Encontrei uma amostra no GitHub para usar o JaCoCo e o usei como ponto de partida.

https://github.com/rafaeltoledo/unified-code-coverage-android

Quando executo a tarefa jacocoTestReport personalizada incluída nesse exemplo, o relatório de cobertura de código é gerado corretamente e a cobertura de código é de 100%. O relatório inclui teste de unidade e teste do android. No entanto, esse exemplo não está usando o Mockito (o que eu preciso), então adicionei o seguinte ao app / build.gradle

dependencies {
 ...
 androidTestCompile 'org.mockito:mockito-android:2.10.0'
}

Adicionei uma classe Java muito simples chamada Util em app / src / main / java / net / rafaeltoledo / cobertura / Util.java

public class Util {
    public int anIntMethod() {
        return 0;
    }
}

E adicionou o seguinte teste simples ao teste android existente em app / src / androidTest / java / net / rafaeltoledo / cobertura / MainActivityTest.java

@Test
public void utilMethod() {
    Util util = Mockito.mock(Util.class);
    Mockito.doReturn(10).when(util).anIntMethod();
    assertThat(util.anIntMethod(), is(10));
}

Quando executo o jacocoTestReport novamente, a cobertura do código cai para 88% e o relatório mostra que a classe Util não foi coberta pelos meus testes, mesmo que eu tenha claramente um teste que exerça essa classe.

(Eu queria adicionar capturas de tela dos relatórios, mas não tenho reputação suficiente, então aqui está um link para orelatório de cobertura e relatório de execução que mostra que os dois testes foram de fato executados)

Informações sobre versões: plug-in Gradle: 2.3.3 Jacoco: 0.7.8.201612092310 Android Studio: 2.3.3 Ferramentas de criação do Android: 25.0.2

Isso é uma limitação do Jacoco ou estou fazendo algo errado?

questionAnswers(1)

yourAnswerToTheQuestion