Gradle:DSL元素“ useProguard”已过时,将很快被删除

Den*_*nis 10 android proguard gradle r8

自Android Studio 3.5更新以来,在构建我的应用程序时出现此警告:

DSL元素“ useProguard”已过时,将很快被删除。在gradle.properties中使用'android.enableR8'在R8和Proguard之间切换。

Den*_*nis 22

gradle.properties文件中启用R8 :

android.enableR8=true
Run Code Online (Sandbox Code Playgroud)

并将“ useProguard”删除到build.gradle中

release {
            minifyEnabled true
            //useProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
Run Code Online (Sandbox Code Playgroud)

解决了问题。

  • 选项“android.enableR8”已弃用,不应再使用。在 Android Studio 3.4 及更高版本中,R8 是默认编译器,因此只需删除 `useProguard true` (4认同)

小智 6

在项目的 gradle.properties 文件中设置以下内容

android.enableR8=true
Run Code Online (Sandbox Code Playgroud)

R8 还具有完全模式,不直接与 Proguard 兼容。为了尝试一下,您可以在 gradle.properties 文件中另外设置以下内容

android.enableR8.fullMode=true
Run Code Online (Sandbox Code Playgroud)

这开启了更多优化,可以进一步减少应用程序的大小。但是,您可能需要一些额外的保持规则才能使其工作。

  • 这不再是必需的:`选项'android.enableR8'已被弃用。它在 Android Gradle 插件 7.0 版本中被删除。请将其从“gradle.properties”中删除。 (3认同)