【问题标题】:Disable DexGuard only for certain product flavors仅对某些产品风味禁用 DexGuard
【发布时间】:2017-03-23 20:43:58
【问题描述】:

我使用 DexGuard 并为 2 种构建类型(发布和调试)提供 4 种产品风格(prod、qa、dev、mock),并且我没有为调试构建启用 DexGuard,因此我得到了 4 个变体 (dexguardProdRelease. ..dexguardMockRelease) 但是,我不想为开发和模拟风格启用 DexGuard。

我了解了 Gradle 提供的 variantFilter,但是在这种情况下,我不知道如何将该命令与插件 DexGuard 相关联。

【问题讨论】:

    标签: android dexguard


    【解决方案1】:

    我可以这样解决:

    //added to filter dexguard for these flavors
    variantFilter { variant ->
        def names = variant.flavors*.name
    
        if(names.contains("mock") && variant.buildType.name == "release") {
            variant.ignore = true
        } else if (names.contains("dev") && variant.buildType.name == "release") {
            variant.ignore = true
        }
    }
    

    现在,Gradle 不再显示 dexguardMockReleasedexguardDevRelease 之类的任务。

    我通过过滤掉DexGuard 来错误地解决这个问题,而不是我应该考虑删除某些口味。以下是我build.gradle的相关部分:

    apply plugin: 'dexguard'
    ...
    android {
          buildTypes {
              release {
                  proguardFile getDefaultDexGuardFile('dexguard-release-aggressive.pro')
                  proguardFile 'dexguard-project.pro'
              }
              debug {
                  //dontshrink, dontoptimize and dontobfuscate are turned off
              }
         }
    
         productFlavors {
              prod {
                    ...
              }
              qa {
                   ...
              }
              dev {
                    ...
              }
              mock {
                     ...
              }
        }
        //added to filter dexguard for these flavors
        variantFilter { variant ->
           def names = variant.flavors*.name
    
           if(names.contains("mock") && variant.buildType.name == "release") {
               variant.ignore = true
           } else if (names.contains("dev") && variant.buildType.name == 
                          "release") {
               variant.ignore = true
           }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-07
      相关资源
      最近更新 更多