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

Empty test suite and custom package name

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

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"
     }
}

您现在可以为 productFlavors 设置 applicationIdSuffix:

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

          } 
     }  
} 

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