繁体   English   中英

如何使用gradle为味道配置不同的buildType

[英]How configure a different buildType for a flavor with gradle

我有两种不同的口味, RQTPRD
对于其中之一,我想禁用proguard配置(对于RQT ,禁用两个 buildTypes的 proguard )。
喜欢加调理吗? 这样有可能吗?

android {
  ...
  flavorDimensions("server")
  productFlavors {
    rqt {
      dimension "server"
      applicationIdSuffix ".rqt"
    }
    prd {
      dimension "server"
      applicationIdSuffix ".prd"
    }
  }
  ...
  buildTypes {
    debug {
      (__if (flavor != RQT) then do proguard config...__)
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      proguardFile 'proguard-debug-project.txt'
    }
    release {
      (__if (flavor != RQT) then do proguard config...__)
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      proguardFile 'proguard-release-project.txt'
    }
  }
  ...
}

您可以创建其他构建类型,例如debugNoProguardreleaseNoProguard等。

android {
  variantFilter { variant ->
    def needed = variant.name in [
      'rqtDebugNoProguard',
      'rqtReleaseNoProguard',       
      'prdDebug',       
      'prdRelease'
    ]

    variant.setIgnore(!needed)
  }

  buildTypes {
    debug {
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      proguardFile 'proguard-debug-project.txt'
    }

    debugNoProguard {
      debuggable true
      minifyEnabled false
      signingConfig signingConfigs.debug
    }
    ....
  }
}

然后,当您要运行不带ProGuard的调试版本时,可以构建变体rqtDebugNoProguardprdDebugNoProguard ,而不是构建rqtDebug

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM