Gradle 中的并行任务未完成 (connectedAndroidTest)

Parallel tasks in Gradle not finishing (connectedAndroidTest)

我在 gradle.properties 中开启了 org.gradle.parallel=true。我正在 运行 设置后端 Google 云模块,并并行执行一些 Espresso 测试的 connectedAndroidTest。测试成功,任务正常,呈绿色(见图),但连接的测试任务从未真正完成自身或打印该行,也不会继续执行队列中的下一个任务。

如果我 运行 任务自行结束并打印该行。

我的根 build.gradle 文件:

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

// Task to set up GCE, runs paid flavor test and shuts down the server.
task configureTest {
    dependsOn 'startBackend', 'runInstrumentedTest', 'stopBackend'
    doLast {
        println 'Tests carried out and local server shut down'
    }
}

task startBackend {
    dependsOn ':backend:appengineRun'
}

// Run InstrumentedTest only in paid flavor as there is no interstitial ad.
task runInstrumentedTest {
    mustRunAfter 'startBackend'
    dependsOn ':app:connectedPaidDebugAndroidTest'
    doLast {
        println 'The test finished.'
    }
}

task stopBackend 
    mustRunAfter 'runInstrumentedTest'
    dependsOn ':backend:appengineStop'
}

为避免任何阻塞,请尝试以守护进程模式启动后端,看看它是否能帮助您正确完成测试。为此,请在后端的 build.gradle 文件中添加以下内容:

    task startBackend {
        project(":backend").afterEvaluate { backend ->
            backend.extensions.appengine.daemon = true
        }
        // ...
    }

有关详细信息,请参阅以下 post: