Android 测试模块(Gradle 插件 1.3)不工作:"debug-classes not found"

Android Test Module (Gradle Plugin 1.3) doesn't work: "debug-classes not found"

我正在尝试按照 android 工作室博客 post 中的描述设置单元测试模块。但是,执行 gradle 构建失败告诉我 "Configuration with name 'debug-classes' not found"。 Debug 是它试图构建的 targetVariant 的名称,但我不明白这里出了什么问题。

这是我的测试模块的 gradle 文件。

apply plugin: 'com.android.test'

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

targetProjectPath ':app'
targetVariant 'debug'
}    

这是描述新测试模块功能的博客post。 http://android-developers.blogspot.com/2015/07/get-your-hands-on-android-studio-13.html

我正在使用 Gradle 插件 v1.3.0

我也对分离应用程序代码和测试代码感到好奇,我很难弄明白。我查看堆栈跟踪并发现 DependencyManager(第 238 行)有一个 TODO 来修复 gradle.

1) 你说得对 flavors.You 必须输入正确的变体

targetVariant '<flavor>Debug'

例如

targetVariant 'flavor1Debug'

2) 您还需要更改 targetProjectPath 的模块 build.gradle。添加以下代码段:

android {

    // ...

    publishNonDefault true

    // ...

}

发布 所有 构建变体!由于 gradle.

的某些限制,它默认禁用

这是一个可以运行的示例应用程序https://github.com/googlesamples/android-testing-templates/tree/master/AndroidTestingBlueprint

你必须使用

buildToolsVersion = '23.0.0rc3'

当然

publishNonDefault true