【问题标题】:How configure a different buildType for a flavor with gradle如何使用 gradle 为风味配置不同的 buildType
【发布时间】:2019-04-24 15:03:53
【问题描述】:

我有两种不同的风格,RQTPRD
而对于其中之一,我想禁用 proguard 配置(对于 RQT,禁用 proguard 对于 both buildTypes) .
喜欢加调理?这样的事情可能吗?

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'
    }
  }
  ...
}

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    您可以创建其他构建类型,例如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

    【讨论】:

    • 可以添加构建类型,不幸的是这不符合我的要求。我正在与 Jenkins 一起构建,但我没有任何管理员权限。它将为每种口味、每种 buildTypes 构建。我真的在寻找要在 buildTypes 中添加的排除/条件。
    • 在这种情况下,您可以将variant filter 与上述风味/构建类型组合一起使用。
    • 我编辑了原始答案以包含相关过滤器
    猜你喜欢
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 2014-12-05
    相关资源
    最近更新 更多