2017-03-02 44 views
2

我該如何去混淆只有一種味道。混淆只有一種味道

不幸的是,flavor 2依賴於使用類的一些重複的模塊(jar),並且由於它的設置方式,我無法對其進行混淆。 (第三方)所以希望跳過混淆的味道。

我似乎無法在flavor部分中定義minifyENabled false,或將味道添加到構建部分。

注意,總共有6種口味。慾望是挑選應該混淆

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

回答

2

只要味道,因爲在ProductFlavor DSL對象minifyEnabled不存在,那麼你必須創建另一個buildType,例如releaseMinified以及標準release

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

productFlavors { 
    minifiableFlavor{} 
    nonMinifiableFlavor{} 
} 

而且能夠只爲需要的香味這個版本類型:

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); 
    } 
} 

然後你就會結了:

Build types

+0

一個極好的主意。會試試看。謝謝 :) – Doomsknight