更新2014年10月21日: 通过使用buildtools 21确认该问题已得到修复.
UPDATE 2014年9月18日:
在本期的状态已经更新到FutureRelease
.
更新: 我听说这可能不适用于Dagger,而且由于Espresso使用Dagger,它可能会导致一些问题.向 Gradle团队提交了一个错误.
Google最近将其Gradle实施更新为0.10.0.他们现在提供的一件事是Jacoco支持.为此,他们提到了以下设置:
testCoverageEnabled = true
进入你的构建类型.现在,当我运行Espresso测试(使用connectedCheck
)时,当我开始执行以下:connectedAndroidTest
任务时,我收到错误:
Tests on HTC One - 4.2.2 - API 17 - 1080x1920 - 4.2.2 failed: Instrumentation run failed due to 'java.lang.VerifyError' 01:38:31 E/Device: Error during Sync: Remote object doesn't exist! null java.io.IOException: com.android.ddmlib.SyncException: Remote object doesn't exist! at com.android.builder.testing.ConnectedDevice.pullFile(ConnectedDevice.java:114) at com.android.builder.internal.testing.SimpleTestCallable.call(SimpleTestCallable.java:158) at com.android.builder.internal.testing.SimpleTestCallable.call(SimpleTestCallable.java:42) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: com.android.ddmlib.SyncException: Remote object doesn't exist! at com.android.ddmlib.SyncService.pullFile(SyncService.java:314) at com.android.ddmlib.Device.pullFile(Device.java:849) at com.android.builder.testing.ConnectedDevice.pullFile(ConnectedDevice.java:107) ... 8 more :connectedAndroidTest FAILED
以下是我在build.gradle
文件中更改的部分:
buildscript { dependencies { classpath 'com.android.tools.build:gradle:0.10.+' ... } ... } android { buildTypes { debug { testCoverageEnabled = true ... } .... } ... }
build.gradle
为了让Jacoco工作,我还需要更新任何其他文件吗?
该错误提到"远程对象"不存在.通常我将此归因于仿真器不同步,重启会修复它.但我已经尝试过,但它也没有用.任何想法错误试图告诉我什么?