Android 使用勺子设置错误进行仪器测试

Android 使用勺子设置错误进行仪器测试,android,testing,gradle,spoon,Android,Testing,Gradle,Spoon,我正试着用勺子做测试 根据我在那里找到的安装指南:,我对我的项目进行了一些简单的更改 第一:我在root build.gradle文件中添加了依赖项: buildscript { repositories { jcenter() mavenCentral() (...) } dependencies { (...) classpath 'com.stanfy.spoon:spoon-gradl

我正试着用勺子做测试

根据我在那里找到的安装指南:,我对我的项目进行了一些简单的更改

第一:我在root build.gradle文件中添加了依赖项:

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        (...)
    }
    dependencies {
        (...)
        classpath 'com.stanfy.spoon:spoon-gradle-plugin:1.0.2'
    }
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}
第二:在我的应用程序包build.gradle中,我添加了:

apply plugin: 'spoon'
和依赖性:

androidTestCompile 'com.squareup.spoon:spoon-client:1.1.9'
并指定我要使用调试生成:

spoon {
    debug true
}
第三:我转到终端,将目录设置为我的项目根目录并调用

./gradlew spoon
我收到这个输出和错误。这可能是什么原因造成的

2015-10-20 17:28:12 [SR.runTests] Executing instrumentation suite on 1 device(s).
2015-10-20 17:28:12 [SR.runTests] Application: com.azimo.sendmoney.debug1 from /Users/F1sherKK/Dev/Azimo-Android/app/build/outputs/apk/app-debug.apk
2015-10-20 17:28:12 [SR.runTests] Instrumentation: com.azimo.sendmoney.debug1.test from /Users/F1sherKK/Dev/Azimo-Android/app/build/outputs/apk/app-debug-androidTest-unaligned.apk
2015-10-20 17:28:12 [SR.runTests] [1903cdc7] Starting execution.
2015-10-20 17:28:12 [SDR.run] InstrumentationInfo: [com.squareup.spoon.SpoonInstrumentationInfo@7baf516e[applicationPackage=com.azimo.sendmoney.debug1,instrumentationPackage=com.azimo.sendmoney.debug1.test,testRunnerClass=android.support.test.runner.AndroidJUnitRunner]]
2015-10-20 17:28:12 [SDR.run] Got realDevice for [1903cdc7]
2015-10-20 17:28:12 [SDR.run] [1903cdc7] setDeviceDetails com.squareup.spoon.DeviceDetails@22444900[model=GT-I9505,manufacturer=samsung,version=5.0.1,apiLevel=21,language=en,region=GB,isEmulator=false,avdName=<null>]
2015-10-20 17:28:12 [SR.runTests] [1903cdc7] Execution done.
:app:spoonDebugAndroidTest FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:spoonDebugAndroidTest'.
> com.android.ddmlib.IDevice.installPackage(Ljava/lang/String;Z[Ljava/lang/String;)Ljava/lang/String;
2015-10-20 17:28:12[SR.runTests]在1台设备上执行检测套件。
2015-10-20 17:28:12[SR.runTests]应用程序:com.azimo.sendmoney.debug1 from/Users/F1sherKK/Dev/azimo Android/app/build/outputs/apk/app-debug.apk
2015-10-20 17:28:12[SR.runTests]检测:com.azimo.sendmoney.debug1.test from/Users/F1sherKK/Dev/azimo-Android/app/build/outputs/apk/app-debug-androidTest-unaligned.apk
2015-10-20 17:28:12[SR.runTests][1903cdc7]开始执行。
2015-10-20 17:28:12[SDR.run]仪器信息:[com.squareup.spoon。SpoonInstrumentationInfo@7baf516e[applicationPackage=com.azimo.sendmoney.debug1,instrumentationPackage=com.azimo.sendmoney.debug1.test,testRunnerClass=android.support.test.runner.AndroidJUnitRunner]]
2015-10-20 17:28:12[SDR.run]获得[1903cdc7]的realDevice
2015-10-20 17:28:12[SDR.run][1903cdc7]设置设备详情com.squareup.spoon。DeviceDetails@22444900[model=GT-I9505,manufacturer=samsung,version=5.0.1,apiLevel=21,language=en,region=GB,isEmulator=false,avdName=]
2015-10-20 17:28:12[SR.runTests][1903cdc7]执行完成。
:app:spoonDebugAndroidTest失败
失败:生成失败,出现异常。
*出了什么问题:
任务“:app:spoonDebugAndroidTest”的执行失败。
>installPackage(Ljava/lang/String;Z[Ljava/lang/String;)Ljava/lang/String;
这为我解决了这个问题:

classpath 'com.squareup.spoon:spoon-runner:1.2.0'
classpath('com.stanfy.spoon:spoon-gradle-plugin:1.0.3') {
        exclude module: "guava"
}
一些背景:

我知道是什么原因导致我的案例出错。要删除:

com.android.ddmlib.IDevice.installPackage(Ljava/lang/String;Z[Ljava/lang/String;‌​)Ljava/lang/String
我不得不更改gradle构建工具。我以前使用过:

classpath 'com.android.tools.build:gradle:1.4.0-beta2'
我不得不把它改成:

 classpath 'com.android.tools.build:gradle:1.3.1'
要重新创建问题,可以从gradle plugin git示例项目中提取。有:

 classpath 'com.android.tools.build:gradle:1.2.2'
使用。当你更新到1.4.0后,它会给出和我相同的错误。我测试过:1.3.1有效,1.4.0beta2-beta6给出了错误

编辑: 更新runner和spoon客户端后已修复错误。使用:

  androidTestCompile 'com.squareup.spoon:spoon-client:1.2.1'


您好,谢谢您的回复。我今天已经看到了这个线程。尝试了所有的组合以及您的代码。很遗憾,我的输出没有改变。不管我做什么:com.android.ddmlib.IDevice.installPackage(Ljava/lang/String;Z[Ljava/lang/String;)Ljava/lang/String;始终存在。您添加了:“com.squareup.spoon:spoon runner:1.2.0”?并进行了清理?我添加了。我没有执行清理,所以我将重试。我之前只进行了gradle同步。问题是,为什么要排除番石榴,您也在添加它?比如:classpath“com.google.guava:guava:17.0”某处?在添加“com.squar”后获得了输出eup.spoon:spoon runner:1.2.0'并执行清理,输出不变。
   classpath 'com.squareup.spoon:spoon-runner:1.2.1'