2017-03-04 5 views
0

Gradle 3.4 findenAndroid, Gradle: -:</p> <p>I hat einige gradle Aufgabe: Aufgabe erstellen "auf fly" konnte nicht Methode

def currentVariantName = "prod" 
task runAllTestProd(dependsOn: ["test$currentVariantName" + "UnitTest", "connected$currentVariantName" + "AndroidTest"]) { 
... 
} 

Es ist gut funktionieren.

Aber ich will diese Aufgabe "on fly" erstellen:

android.applicationVariants.all { variant -> 
    def variantName = variant.getName() 
    if (!variantName.equalsIgnoreCase("release")) { 
     def currentVariantName = variantName.capitalize() 
     def currentUnitTestName = "test$currentVariantName" + "UnitTest" 
     def currentInstrumentedTestName = "connected$currentVariantName" + "AndroidTest" 
     task "runAllTest$currentVariantName"(dependsOn: "[$currentUnitTestName", "$currentInstrumentedTestName]") { 
      description = "Run all tests for buildType: $currentVariantName" 
     } 
    } 
} 

Get Fehler:

Error:(181, 0) Could not find method runAllTestProd() for arguments [{dependsOn=[testProdUnitTest}, connectedProdAndroidTest], [email protected]6] on object of type com.android.build.gradle.internal.api.ApplicationVariantImpl. 

Datei öffnen

Antwort

0

ich das Problem gefunden. Syntax-Fehler. Ändern Sie in Zeile "dependsOn: ...".

Hier richtigen Code:

android.applicationVariants.all { variant -> 
def variantName = variant.getName() 
if (!variantName.equalsIgnoreCase("release")) { 
    def currentVariantName = variantName.capitalize() 
    def currentUnitTestName = "test$currentVariantName" + "UnitTest" 
    def currentInstrumentedTestName = "connected$currentVariantName" + "AndroidTest" 
    task "runAllTest$currentVariantName"(dependsOn: ["$currentUnitTestName", "$currentInstrumentedTestName"]) { 
     description = "Run all tests for buildType: $currentVariantName" 
    } 
} 

}

Verwandte Themen