同时使用 ProGuard 和 R8
Posted
技术标签:
【中文标题】同时使用 ProGuard 和 R8【英文标题】:Using both ProGuard and R8 【发布时间】:2019-09-29 19:05:40 【问题描述】:我希望 ProGuard 和 R8 都执行代码压缩和优化:我敢肯定,经过一年的开发,R8 不会像经过 15 年的 ProGuard 一样酷。
android.enableR8
标志启用 R8 而不是 ProGuard。
有没有办法使用官方Android工具链来使用这两种工具,i。 e.带有 Android 插件的 Gradle?
【问题讨论】:
【参考方案1】:在 Android Studio 中不支持同时运行 R8 和 ProGuard。我建议你比较两个收缩器的结果,然后决定你要坚持哪一个。如果您发现 R8 产生的输出比 ProGuard 大,请通过使用 this link 提交错误报告告诉我们。
【讨论】:
对于我的“hello world”应用程序,fullMode
中的 R8 生成的 DEX 比 ProGuard 略小。但大小并不是唯一的判断标准。 R8 缺少 ProGuard 实现的许多优化。 ProGuard 出现在 Android 之前,并且会在它之后出现,它没有停产,正在添加更多功能。以上是关于同时使用 ProGuard 和 R8的主要内容,如果未能解决你的问题,请参考以下文章
Java 和 ProGuard - 使用类加载器 AntClassLoader 找不到 taskdef 类 proguard.ant.ProGuardTask