2017-03-02 1 views
2

Comment irais-je sur obfuscating un seul arôme. Malheureusement la saveur 2 repose sur un module (pot) qui utilise une duplication de classes, et je ne peux pas l'obscurcir en raison de la façon dont il est mis en place. (3ème partie) Donc, souhaitez ignorer obscurcir la saveur.obscurcir une seule saveur

Je ne semble pas pouvoir définir minifyENabled false dans la section flavors, ou ajouter la saveur à la section build.

Notez, il y a réellement 6 saveurs au total. Le désir est de choisir les saveurs qui devraient être obscurcie

buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

    productFlavors { 
     flavour1{ 
      applicationId "uk.co.company.flavour1" 
     } 
     flavour2{ 
      applicationId "uk.co.company.flavour2" 
     } 
    } 

Répondre

2

Tant qu'il n'y est pas présent dans minifyEnabledProductFlavor objet DSL, alors vous devez créer un autre buildType, par exemple releaseMinified avec la norme release.

buildTypes { 
    release { 
     minifyEnabled false 
    } 
    releaseMinified { 
     minifyEnabled true 
    } 
} 

productFlavors { 
    minifiableFlavor{} 
    nonMinifiableFlavor{} 
} 

et activer ce type de construction que pour la saveur qui a besoin que:

android.variantFilter { variant -> 
    if (variant.buildType.name.equals('releaseMinified') && !variant.getFlavors().get(0).name.equals('nonMinifiableFlavor')) { 
     variant.setIgnore(true); 
    } else if (variant.buildType.name.equals('release') && variant.getFlavors().get(0).name.equals('nonMinifiableFlavor')){ 
     variant.setIgnore(true); 
    } 
} 

vous serez alors fin avec:

Build types

+0

Une excellente idée. Je vais essayer. Merci :) – Doomsknight