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 详细日志在哪里?