2015-04-03 3 views
3

Я пытаюсь выяснить, как я могу указать signingConfig для индивидуальных размеров вкуса. Я видел, как это делать при использовании разных вкусов, но не ароматических размеров.Как установить signConfig для разных размеров аромата?

В настоящее время я применяю различные названия пакетов для разных вариантов вкуса и думал, что может быть что-то подобное можно сделать с помощью signingConfig?

> android.applicationVariants.all { variant -> 
>  def flavorString = variant.getVariantData().getVariantConfiguration().getFlavorName() 
>  def mergedFlavour = variant.getVariantData().getVariantConfiguration().getMergedFlavor(); 
> 
>  if(flavorString.equalsIgnoreCase("amazonFree")) { 
>   mergedFlavour.setApplicationId("com.test.amazon.free") 
>  } 
>  if(flavorString.equalsIgnoreCase("amazonPro")) { 
>   mergedFlavour.setApplicationId("com.test.amazon.pro") 
>  } 
>  if(flavorString.equalsIgnoreCase("googleFree")) { 
>   mergedFlavour.setApplicationId("com.test.google.free") 
>  } 
>  if(flavorString.equalsIgnoreCase("googlePro")) { 
>   mergedFlavour.setApplicationId("com.test.google.pro") 
>  } } 

Моя установка аромата

// Special flavor dimensions for different markets and 
// versions paid and free. 
flavorDimensions 'market', 'version' 

productFlavors { 
    amazon { 
     flavorDimension 'market' 
    } 
    google { 
     flavorDimension 'market' 
    } 
    // Base free version 
    free { 
     flavorDimension 'version' 
     // Need this cause of all the ad libraries we are using :/ 
     defaultConfig.multiDexEnabled true 

     // For now we sign all free versions with this config 
     // cause we have no idea how to sign the individual flavor dimensions. 
     signingConfig signingConfigs.googleFree 
    } 
    // Base pro version 
    pro { 
     flavorDimension 'version' 

     // For now we sign all free versions with this config 
     // cause we have no idea how to sign the individual flavor dimensions. 
     signingConfig signingConfigs.googlePro 
    } 
} 
+0

столкнулся с тем же вопросом, вы когда-нибудь это сделали? –

ответ

0

В первую очередь ApplicationID могут быть применены в productFlavors самого блока:

productFlavors { 
    amazonFree { 
     applicationId 'com.test.amazon.free' 
    } 
    amazonPro { 
     applicationId 'com.test.amazon.pro' 
    } 
    googleFree { 
     applicationId 'com.test.google.free' 
    } 
    googlePro { 
     applicationId 'com.test.google.pro' 
    } 
} 

Подписание конфигурации может быть сконфигурирован на вкус в Аналогичным образом:

productFlavors { 
    amazonFree { 
     applicationId 'com.test.amazon.free' 
     signingConfig signingConfigs.amazonFree 
    } 
    amazonPro { 
     applicationId 'com.test.amazon.pro' 
     signingConfig signingConfigs.amazonPro 
    } 
    googleFree { 
     applicationId 'com.test.google.free' 
     signingConfig signingConfigs.googleFree 
    } 
    googlePro { 
     applicationId 'com.test.google.pro' 
     signingConfig signingConfigs.googlePro 
    } 
} 
+0

Эй, спасибо за ответ, но я знал, как это сделать. Проблема заключается в том, что вы начинаете использовать ароматы DIMENSIONS. Все становится немного сложнее. – Jona

+0

Извините за это. Какие размеры аромата вы используете? Можете ли вы предоставить конфигурацию ароматов? –

+0

Я обновил свой вопрос, чтобы включить конфигурацию моего аромата. – Jona

Смежные вопросы