Usando o Android gradle + dagger para executar os instrumentTests

Eu comecei a usar o Android Studio e gradle recentemente para o desenvolvimento do Android e acho que é muito melhor do que eclipse / ant ou maven. No entanto, comecei recentemente a tentar implementar algum tipo de unidade e ou testes de integração com o meu aplicativo. Consegui fazer testes básicos trabalhando usando o framework Espresso recentemente lançado pelo google. Eu tive alguns testes, embora eu precisasse zombar e injetar versões de objetos ridicularizados. Eu usei punhal no passado para outro projeto, então incluí punhal em meu projeto. No entanto, agora meus testes não serão executados devido ao seguinte erro:

gradle connectedCheck

...

4.1.2 falhou: Falha na execução da instrumentação devido a 'java.lang.IllegalAccessError': EspressoApp: connectedCheck

Eu criei uma simples demonstração disso aqui:https://github.com/mwolfe38/android-espresso-dagger

Apenas clone e, em seguida, a partir da linha de comando, execute: gradle connectedCheck

Acima eu tentei as dependências de várias maneiras, originalmente assim:

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.squareup.dagger:dagger-compiler:1.1.0'
    compile 'com.squareup.dagger:dagger:1.1.0'

    instrumentTestCompile files('libs/espresso-1.0-SNAPSHOT.jar',
            'libs/testrunner-1.0-SNAPSHOT.jar',
            'libs/testrunner-runtime-1.0-SNAPSHOT.jar')
    instrumentTestCompile 'org.hamcrest:hamcrest-all:1.3'
    instrumentTestCompile 'com.google.guava:guava:15.0'
}

mas isso me dá um erro em relação à inicialização estática. Isso parece ser causado por algum código de inicialização estática na estrutura do espresso em relação ao punhal. Então, depois de adicionar as dependências do dagger ao instrumentTestCompile, recebo o IllegalAccessError mencionado acima.

Alguém tem sorte, incluindo adaga em seu projeto e fazendo testes de café expresso?

questionAnswers(2)

yourAnswerToTheQuestion