Метод Gradle DSL не найден: 'setApplicationId ()' - PullRequest
0 голосов
/ 16 ноября 2018

Gradle не может найти метод setApplicationId (), я использую приведенную ниже конфигурацию в файле build.gradle:

 android.applicationVariants.all { variant ->
    def mergedFlavor = variant.outputs

    switch (variant.flavorName) {

        case "appnameDev":

    mergedFlavor.setApplicationId("com.wexer.flavor.devtest")
            break
   }  
}


defaultConfig {
    // These are applied to the manifest, to prevent nasty compat modes, use the latest you can.
    minSdkVersion 19
    targetSdkVersion 28
    renderscriptTargetApi 19
    renderscriptSupportModeEnabled true
}

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

У меня сработала следующая альтернатива:

  flavorDimensions 'white_label', 'server'
    productFlavors {
      labelOne{
         dimension "white_label"
         applicationId 'com.app.labelOne'

     }

    labelTwo{
        dimension "white_label"
        applicationId 'com.newapp.labelTwo'
    }


//build environments

    dev {
        dimension "server"
        applicationIdSuffix ".devtest"
        versionNameSuffix "-dev"

    }
    integration {
        dimension "server"
        applicationIdSuffix ".integration"
        versionNameSuffix "-integration"

    }
    staging {
        dimension "server"
        applicationIdSuffix ".staging"
        versionNameSuffix "-staging"

    }
    live {
        dimension "server"

    }
}
0 голосов
/ 16 ноября 2018

Не

def mergedFlavor = variant.outputs

До

def mergedFlavor = variant.mergedFlavor

Ваш код будет

android.applicationVariants.all { variant -> 
    def mergedFlavor = variant.mergedFlavor 
    switch (variant.flavorName) { 
       case "appnameDev": 
       mergedFlavor.setApplicationId("com.wexer.flavor.devtest") 
       break 

Тогда Clean-Rebuild-Run.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...