【问题标题】:How can I use different proguard files in different flavors or for different build types?如何以不同的风格或不同的构建类型使用不同的 proguard 文件?
【发布时间】:2016-02-26 17:19:36
【问题描述】:

我需要为测试库制作不同的风格。为什么?好吧,我希望项目得到完全保护,所以我想一直启用最小化(即使是调试构建类型)。

在进行测试时,我使用了项目中的不同类, 所以我决定使用风味更改 proguard 文件。它看起来像这样:

android {
    ...
    buildTypes {
        release {
            minifyEnabled true
            testProguardFile 'test-proguard-rules.pro'
        }
        debug {
            minifyEnabled true
            testProguardFile 'test-proguard-rules.pro'
        }
    }
    ...
    productFlavors{
        forTest{
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules1.pro', 'debug-rules.pro'
        }
        forRelease{
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro', 'debug-rules.pro'
        }
   }
}

和 proguard-rules* 文件

保护规则:

-dontwarn blablabla.**
-dontwarn blabla.**
-keep class bla.** { *; }

proguard-rules1:

-dontshrink
-dontobfuscate
-dontwarn

但这对我没有帮助。我想在没有混淆的情况下运行测试。 Flavors 没有像 minifyEnabled 这样的参数,所以我尝试找到任何解决方案。那么关于解决问题的任何建议?可能有人遇到了同样的问题并找到了另一种解决方案(不使用风味)?

【问题讨论】:

    标签: android gradle proguard obfuscation android-productflavors


    【解决方案1】:

    在搞砸了一整天之后,我发现了以下作品:

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    
    productFlavors {
        flavorA {
            applicationIdSuffix ".a"
            proguardFile 'flavorA_rules.pro'
        }
        flavorB {
            applicationIdSuffix ".b"
        }
    
    }
    

    【讨论】:

    • 所以flavorA_rules.pro 替换proguard-rules.pro 上的flavorA ?
    • @Cool 可以,以后可以在good-trainer-android/<module>/build/intermediates/aapt_proguard_file/<flavor name>验证生成的proguard文件
    猜你喜欢
    • 2014-02-13
    • 2018-10-31
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 2015-07-21
    • 2021-11-16
    相关资源
    最近更新 更多