2014-06-20 3 views
5

Mam dwa smaki produktów i ustaw testApplicationId tak jak w build.gradle:Czy można określić ID testApplication na smaku w Gradle?

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

Czy to możliwe, aby zastąpić tę testApplicationId w każdym productFlavor?

Próbowałem przesłonić samego testApplicationId w indywidualnym productFlavors, ale wtedy plik R.class nie zostanie wygenerowany i pojawia się błąd kompilacji.

czytałem o packageName/applicationId nie dotyka plik R.class, ale nie jestem pewien, czy ta zasada odnosi się do tej testApplicationId też.

+0

Próbuję to zrobić sam. Powinno być możliwe, ponieważ możesz określić ID aplikacji na smak. Jednak mam problem z Gradle narzeka, że ​​nie określiłem mój applicationId, mimo że wyraźnie umieścić go w pliku kompilacji ... – Stuartsoft

+2

Właśnie otwarty błąd na [Android] (https://code.google .com/p/android/issues/detail? id = 72255) dev-tools. –

+0

Czy próbowałeś użyć manifestu testowego, który jawnie ustawia applicationId w XML zamiast gradle? –

Odpowiedz

0

zweryfikować to działa zgodnie z oczekiwaniami w wersji Android Gradle Plugin 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 następujące wyjścia:

firstDebug first 
firstRelease first 
secondDebug second 
secondRelease second