2014-06-20 8 views
5

Ich habe zwei Produkt Aromen, und stellen Sie die testApplicationId wie so in build.gradle:Ist es möglich, testApplicationId pro Flavor in Gradle anzugeben?

defaultConfig { 
    minSdkVersion 8 
    targetSdkVersion 19 
    testApplicationId 'com.example.testapp' 
} 

Ist es möglich, diese testApplicationId in jedem productFlavor außer Kraft zu setzen?

Ich versuchte, die testApplicationId selbst in der einzelnen productFlavors überschreiben, aber dann wird die R.class Datei nicht generiert, und ich bekomme einen Kompilierfehler.

las ich über die packageName/applicationId nicht die R.class Datei zu beeinflussen, aber ich bin nicht sicher, ob diese Regel auch für die testApplicationId hält.

+0

Ich versuche, dies selbst zu tun. Es sollte möglich sein, da Sie eine Anwendungs-ID pro Flavor angeben können. Ich habe jedoch ein Problem mit Gradle, das sich beschwert, dass ich meine Anwendungs-ID nicht angegeben habe, obwohl ich sie eindeutig in die Build-Datei geschrieben habe ... – Stuartsoft

+2

Einfacher Fehler unter [Android] (https://code.google .com/p/android/issues/detail? id = 72255) dev-tools. –

+0

Haben Sie versucht, ein Testmanifest zu verwenden, das applicationId explizit in XML statt in Großbuchstaben setzt? –

Antwort

0

Ich bestätige dies funktioniert wie erwartet in Android Gradle Plugin Version 2.3.0

defaultConfig { 
    ... 
    testApplicationId 'default' 
} 

productFlavors { 
    first { 
     testApplicationId 'first' 
    } 
    second { 
     testApplicationId 'second' 
    } 
} 

android.applicationVariants.all { variant -> 
    variant.productFlavors.each { 
     def buildType = variant.buildType.name.capitalize() 
     println "$it.name$buildType $it.testApplicationId" 
    } 
} 

Give folgende Ausgabe:

firstDebug first 
firstRelease first 
secondDebug second 
secondRelease second 
Verwandte Themen