Android:跳过依赖项目的Gradle“testClasses”任务

rur96b6h  于 2023-06-23  发布在  Android
关注(0)|答案(1)|浏览(252)

我已经在Android Studio v1.4中按照this guide为我的主要Android模块(我们称之为"module-a")创建了一个JUnit测试文件。
我的“module-a”依赖于外部库,该库以.aar文件的形式提供,我不得不为此创建一个专用模块。
此依赖项导致错误:
当右键单击测试Java文件并点击“RunMyTestName”时,它会失败并出现以下错误

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

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

移除对module-b的依赖性解决了这个问题。
module-a build.gradle的摘录:

compile project(':module-b')

module-b build. gradle:

configurations.create("default")
artifacts.add("default", file('library-b.aar'))
    • 如何配置Gradle,使其不会尝试在“module-b”上运行testClasses任务?(这应该解决我的问题)**
ncgqoxb0

ncgqoxb01#

我没有找到跳过module-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'
    }
}

KotlinDSL:

task("testClasses").doLast {
    println("This is a dummy testClasses task")
}

相关问题