Progruard 和 R8 被弃用 - Android Studio 3.6

cpl*_*ogl 15 obfuscation android proguard gradle

将我的 Android Studio 升级到 3.6 后,我收到了关于 Proguard 和 R8 的弃用警告。这是否意味着我们不应该在我们的项目中使用混淆,或者在发布模式下构建时我们应该考虑另一个等效的选项吗?

选项 'android.enableR8' 已弃用,不应再使用。它将在 Android Gradle 插件的未来版本中删除,并且不再允许您禁用 R8。受影响的模块:等

laa*_*lto 13

这是否意味着我们不应该在我们的项目中使用混淆

不可以。您可以使用混淆和优化工具。

在发布模式下构建时,我们应该考虑另一个等效的选项吗

如果你android.enableR8 = true在你的gradle.properties, 中删除它作为 R8 它是默认工具,并且android.enableR8设置本身已被弃用,导致这些弃用警告。

如果您必须android.enableR8 = false使用 proguard 进行优化和混淆,请考虑迁移到 R8。

  • 承诺的 proguard 配置应该 100% 兼容新的 R8。不幸的是,R8 完全破坏了我的发布版本,看起来大多数 ProGuard 规则都被忽略了。由于我没有时间进行任何进一步的分析,我只能使用 ProGuard,不幸的是,在 Gradle 7.0 中将无法禁用 R8。所以我不认为我会在可用时将我的项目更新到 Gradle 7.0 (2认同)