空测试套件和自定义包名称

时间:2015-12-10 12:26:10

标签: android junit android-gradle build.gradle android-espresso

我有一个带有flavorDimensions和productFlavors的应用程序,我使用build.gradle脚本自定义试用变体的包名称,如下所示:

defaultConfig {
    applicationVariants.all { variant ->
        def flavorString = variant.getVariantData().getVariantConfiguration().getFlavorName();
        if(flavorString.endsWith("Trial")) {
            def mergedFlavour = variant.getVariantData().getVariantConfiguration().getMergedFlavor();
            mergedFlavour.setApplicationId(mergedFlavour.getApplicationId().concat("trial"))
        }
    }
}

一切正常但当我尝试针对试用变种运行我的测试用例时,我收到消息:

Running tests
Test running startedFinish
Empty test suite.

我可以完美地对其他变种运行测试,但我想知道如何解决这种情况。

在有人建议在buildType中使用applicationIdSuffix之前,我认为不适合这种情况,我需要为变种添加后缀。

这是flavorDimensions和productFlavors的build.gradle脚本:

flavorDimensions "merchant", "version"

productFlavors {
     merchant1 {
        flavorDimension "merchant"
        applicationId "com.merchant1"
     }
     merchant2 {
        flavorDimension "merchant"
        applicationId "com.merchant2"
     }

     trial {
        flavorDimension "version"
     }
     prod {
        flavorDimension "version"
     }
}

1 个答案:

答案 0 :(得分:0)

您现在可以为productFlavors设置applicationIdSuffix:

android {  
     productFlavors {  
          free {   
               applicationIdSuffix = ".free"  
          }  
          prod {

          } 
     }  
} 

来源: http://android-developers.blogspot.ie/2015/12/leveraging-product-flavors-in-android.html