自从Android Studio 3.5更新以来,在构建我的应用程序时出现了以下警告:
DSL元素"useProguard"已经过时并将很快被移除。使用gradle.properties中的"android.enableR8"在R8和Proguard之间进行切换。
DSL元素"useProguard"已经过时并将很快被移除。使用gradle.properties中的"android.enableR8"在R8和Proguard之间进行切换。
从 build.gradle 中删除"useProguard" 对我解决了这个问题,像这样:
从 build.gradle 中删除"useProguard"
release {
minifyEnabled true
//useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
2022更新,或细节;R8
现在是:
ProGuard
,
但支持现有的
.pro
文件(不需要重新配置)。
ProGuard
的方法都已被弃用(甚至已删除)。
但是,调试版本可以设置
debuggable true
,并继续逐行进行调试。
请在项目的gradle.properties文件中设置以下内容
android.enableR8=true
R8还有一个完整模式,该模式与Proguard不直接兼容。为了尝试该模式,您还可以在gradle.properties文件中额外设置以下内容:
android.enableR8.fullMode=true
这将开启更多的优化,可以进一步减小应用程序的大小。但是,您可能需要一些额外的保留规则才能使其正常工作。
android {
buildTypes {
release {
// Enables code shrinking, obfuscation, and optimization for only
// your project's release build type.
minifyEnabled true
// Enables resource shrinking, which is performed by the
// Android Gradle plugin.
shrinkResources true
// Includes the default ProGuard rules files that are packaged with
// the Android Gradle plugin. To learn more, go to the section about
// R8 configuration files.
proguardFiles getDefaultProguardFile(
'proguard-android-optimize.txt'),
'proguard-rules.pro'
}
}
...
}
对于更加冒险的用户,R8 还有完整模式。要尝试这个模式,你需要在你的 gradle.properties
文件中设置以下内容。
android.enableR8.fullMode=true
R8是Android Studio 3.4及以上版本中可用的默认工具。无需显式启用R8,只需从app/build.gradle
文件中删除useProguard true
行即可。
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
useProguard
是必须的。 - kc_dev