R8 vs ProGuard - 保留规则

R8 vs ProGuard - keep rules

提问人:Andreas 提问时间:11/14/2023 最后编辑:Andreas 更新时间:11/14/2023 访问量:55

问:

我的理解是,R8(Google)和ProGuard(Guardsquare)是不同的产品,不能一起工作。

现在,在最新的 gradle 版本中,Android Studio 默认启用 R8,默认情况下,在文件中设置了用于防止类进行优化的配置和规则,遵循与 ProGuard 相同的样式/规则(这令人困惑,但可以轻松迁移)。proguard-rules.pro

  • 您在禁用 R8 并使用您过去在 ?proguard-rules.pro
  • 你必须适应它们吗?这是一个巨大的变化吗?

根据我的经验,我有一个使用 R8 缩小的工作应用程序,在禁用它并使用相同的规则启用 ProGuard 后,它会崩溃,我必须调整规则。

你也是这样吗?

Gradle 优化 ProGuard Android-R8

评论

1赞 Blundell 11/14/2023
把它放在你的 : 它会向你显示所有规则,你可能会看到你意想不到的额外内容proguard-rules.pro-printconfiguration ~/tmp/full-r8-config.txt
0赞 ltp 11/15/2023
不,R8(编译器)实际上使用了 proguard(混淆和优化)规则。所以不清楚你所说的“禁用 R8”是什么意思。
0赞 Andreas 11/15/2023
@ltp guardsquare.com/manual/setup/gradleplugin 官方文档说,如果你想使用ProGuard,你需要禁用R8
0赞 ltp 11/15/2023
明白了。但 R8 使用的是 proguard 规则和一些自动生成的规则。developer.android.com/build/shrink-code#configuration-files
0赞 Andreas 11/15/2023
是的,但规则仅用于兼容性目的,上面的段落指出 R8 不使用 ProGuard developer.android.com/build/......

答: 暂无答案