android - 将系统属性与 proguard 配置文件一起传递给 gradle proguardFile 属性
问题描述
我正在尝试在我的 gradle 项目中调用 proguard。
方法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:
如https://developer.android.com/studio/build/shrink-code.html中所述,在 gradle 文件中使用 proguardFile 属性
buildTypes {
debug {
minifyEnabled true
proguardFile 'proguardconf-splitjars.pro'
}
}
我在 proguard 文件中有不同的属性变量,我必须在调用 proguard 时传递它们。我能够传递属性并使用 Approach1 调用 proguard。
有什么方法可以通过 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 文档
推荐阅读
- c++ - 深度优先搜索找到最短路径c ++
- applescript - 如果文件/文件夹路径中有空格,AppleScript 不起作用
- pandas - 读取 .txt 文件并通过 pandas 获取行和列
- reactjs - 网络部分未显示在鳍状肢调试器应用程序中
- vue.js - agGrid 将 fontawesome 图标添加到标题,而不是单元格而不是所有列
- javascript - 成功后 Ajax 请求如何操作 DOM 并忽略 Ruby on rails 中的递归调用
- flutter - 使用颤振制作应用程序
- c++ - 在 OpenCV 中加载和保存位图图像(OpenCV 版本 = 3.1.0)
- xpath - Xpath查询,让某个查询更通用
- networking - 如何让名称解析在 Ubuntu 19.04 VirtualBox VM 上工作?