Gradle 在哪里找到“proguard-android-optimize.txt”?

Posted

技术标签:

【中文标题】Gradle 在哪里找到“proguard-android-optimize.txt”?【英文标题】:Where is Gradle finding 'proguard-android-optimize.txt'? 【发布时间】:2020-12-31 13:22:21 【问题描述】:

我没有使用 android Studio。 我在 Windows 上使用 Gradle:gradle-5.5.1。

classpath 'com.android.tools.build:gradle:3.3.0'

(local.properties)

sdk.dir=C:\\android-sdk-wind

在我的发布版本中启用:

minifyEnabled true

所以我尝试修改'proguard-android-optimize.txt' 我的

c:/android-sdk-wind/tools/proguard 

而我的改变没有任何作用,我试图改变:

#-optimizationpasses 5
-optimizationpasses 1

它没有使用 R8,我使用的是 3.3.0。 我尝试使用

classpath 'com.android.tools.build:gradle:3.4.0'

但我的构建环境不喜欢它。

那么我需要修改的文件在哪里, 或者如何修改我的:

proguardFile getDefaultProguardFile('proguard-android-optimize.txt')

指向我需要修改的实际文件? 或者,如果我必须这样做,另一种方法可以卡在 .pro 文件或其他文件中 为我的项目修改 Proguard 优化的方法?

我试过了:

proguardFile 'proguard-android-optimize.txt'

但这似乎不起作用。

我确实在“R8 配置文件”下阅读了此内容:

“Android Gradle 插件生成 proguard-android-optimize.txt,其中包含对大多数 Android 项目有用的规则...” 这将解决它从哪里得到它的“谜团”, 但是有办法修改吗?

谢谢!

【问题讨论】:

您是否在应用中签入了 proguard-rules.pro 它没有任何定义。我确实在另一个项目中找到了一个默认的。我可以轻松地将我的 optimize.txt 转储到其中,或者从那里指向它吗? 你可以在应用程序的 build.gradle 中尝试 minifyEnabled true,这将激活 proguard,IMO 这应该采用默认的 proguard 文件 我已经为我的发布版本启用了该功能,应该提到这一点。我已经尝试了所有方法,但不知道它从哪里获得优化信息,真的很沮丧。它不喜欢我的 .pro 文件在任何位置,使用“,'proguard-rules.pro'” 我终于让它接受了:proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 【参考方案1】:

我在看另一篇文章,它提到:

“getDefaultProguardFile() 是一个简单的辅助方法,可以从 build/intermediates/proguard-files 中提取它们。Android Gradle Plugin (AGP) 将它们放在那里。”

所以我进入了那个目录,你可以修改: “proguard-android-optimize.txt-3.3.3”

但是,一旦您在项目中点击“清理”,它就消失了 并替换为另一个默认版本。

***** 更新 *****

经过大量挖掘,我偶然发现了这个!:

proguardFiles 'proguard-rules.pro'

只需将其添加到您的 build.gradle 文件中,在您的应用目录中,在您的发布部分中,然后重命名整个 proguard-android-optimize.txt-3.3.3 并根据需要修改它,并将其放在同一个应用程序中 目录,它会使用它!

【讨论】:

以上是关于Gradle 在哪里找到“proguard-android-optimize.txt”?的主要内容,如果未能解决你的问题,请参考以下文章

在调试模式下构建 Flutter 应用程序时,Gradle 详细日志在哪里?

我在哪里可以找到 Spring Boot 包的 SHA256/SHA512 哈希?

阻止下载 Gradle 和 Maven 依赖项

在哪里可以找到android studio的库依赖项

在 Mac 中从 gradle 构建定位 jar

gradle 在哪里保存依赖项的 jar?