Gradle中任务订单执行的问题

Gradle中任务订单执行的问题,gradle,Gradle,我正在进行的项目迫使我分别测试项目的所有库。这里我简化了我为测试这些库而定义的任务 tasks.register('prepareStuffForLibrary_A') {} tasks.register('prepareStuffForLibrary_B') {} tasks.register('testLibrary_A') { dependsOn prepareStuffForLibrary_A finalizedBy connectedAndroidTest } task

我正在进行的项目迫使我分别测试项目的所有库。这里我简化了我为测试这些库而定义的任务

tasks.register('prepareStuffForLibrary_A') {}
tasks.register('prepareStuffForLibrary_B') {}
tasks.register('testLibrary_A') {
    dependsOn prepareStuffForLibrary_A
    finalizedBy connectedAndroidTest
}
tasks.register('testLibrary_B') {
    dependsOn prepareStuffForLibrary_B
    finalizedBy connectedAndroidTest
}
tasks.register('allTests') {
    dependsOn testLibrary_A
    dependsOn testLibrary_B
}

如您所见,对于每个测试,在调用
connectedAndroidTest
之前必须完成一些准备任务。分别调用
testLibrary\u A
testLibrary\u B
可以正常工作。但是调用
allTests
的行为与我预期的不完全一样。因此,执行的任务顺序如下:

要执行的任务:[任务]:应用程序:PrepareStufforlibrary_A',任务]:应用程序:testLibrary_A',任务]:应用程序:PrepareStufforlibrary_B',任务]:应用程序:connectedAndroidTest',任务]:应用程序:allTestsDemo'.


显然,这不是我想要实现的。我预期的执行顺序是在每个测试结束时执行
connectedAndroidTest


你对如何在Gradle中实现这一点有什么建议吗?

那么你不应该把
connectedAndroidTest
作为一个单独的任务,而是一个作为测试任务一部分执行的操作,例如通过
doLast{}
connectedAndroidTest
是由Android Gradle插件生成的任务。是否有其他方法使用此任务的功能?