将系统属性与混淆器配置文件一起传递到 gradle 混淆器文件 属性

Passing system properties along with proguard configuration file to gradle proguardFile property

我正在尝试在我的 gradle 项目中调用混淆器。

方法 1:

使用 ant.java 并传递 proguard.jar 及其配置,如下所示

    ant.java(jar:"c:/proguard5.1/lib/proguard.jar",fork:true){
     arg(value: "@./proguardconf-splitjars.pro")
     sysproperty( key : "jar.dir",value : "codegen/libs")                
     sysproperty( key : "target",value : "android-28")               
     sysproperty( key : "sdk.dir",value : "C:\android-sdk-windows")                 
    } 

方法 2:

在 gradle 文件中使用 proguardFile 属性,如 https://developer.android.com/studio/build/shrink-code.html

中所述
buildTypes {
     debug {
        minifyEnabled true
        proguardFile 'proguardconf-splitjars.pro'
    }
   }

我在 proguard 文件中有不同的 属性 变量,我必须在调用 proguard 时传递它们。我能够传递属性并使用 Approach1 调用混淆器。

有什么方法可以通过 Approach2 传递 属性 变量。我参考了以下链接,但没有找到任何符合我要求的信息。

https://www.guardsquare.com/en/products/proguard/manual/gradle https://developer.android.com/studio/build/shrink-code.html

Gradle 支持不同的方式来设置系统属性。对我来说,最方便的方法是像这样在 gradle.properties 文件中指定它们:

systemProp.jar.dir=codegen/libs

例如您的 ant 示例中的属性之一。

另见 Gradle documentation