Android:Skip Gradle“testClasses”任务用于依赖项目

时间:2015-10-14 18:32:21

标签: android android-studio gradle junit

我已经跟随this guide在Android Studio v1.4中为我的主要Android模块创建了一个JUnit测试文件(我们称之为“module-a”)。

我的“module-a”依赖于作为.aar文件提供的外部库,我必须为其创建一个专用模块。

此依赖项会导致错误:

右键单击测试Java文件并点击“Run MyTestName”时,它会因此错误而失败

Error:Gradle: 
FAILURE: Build failed with an exception.

* What went wrong:
Task 'testClasses' not found in project ':module-b'.

删除对module-b的依赖性解决了这个问题。

模块摘录 - build.gradle:

compile project(':module-b')

module-b build.gradle:

configurations.create("default")
artifacts.add("default", file('library-b.aar'))

我应该如何配置Gradle,以便它不会尝试在“module-b”上运行testClasses任务? (这应解决我的问题)

1 个答案:

答案 0 :(得分:33)

我没有找到跳过模块-b的testClasses任务的方法:似乎从Android Studio开始的操作(如运行JUnit测试)运行无法修改的Gradle命令。就我而言:

Information:Gradle: Executing tasks:
[:module-a:prepareFree_flavorDebugUnitTestDependencies,
 :module-a:generateFree_flavorDebugSources,
 :module-a:mockableAndroidJar,
 :module-a:assembleFree_flavorDebug,
 :module-a:assembleFree_flavorDebugUnitTest,
 :module-b:testClasses]

我找到了解决问题的方法:

将以下代码添加到module-b build.gradle:

task testClasses {
    doLast {
        println 'This is a dummy testClasses task'
    }
}