将Google番石榴添加到Android项目 - 显着减慢了构建速度

2022-09-03 07:32:27

将Google Guava r09添加到我们的Android项目后,构建时间显着增加,尤其是DEX生成阶段。我知道DEX生成需要我们所有的类+我们依赖的所有jar,并将它们转换为DEX格式。番石榴是一个相当大的罐子,大约1.1MB

  1. 它是否会成为构建速度变慢的原因?
  2. 有什么可以做的来加速这一点吗?

附言:通常我从Intellij构建,但我也尝试过使用Maven构建 - 相同的结果。

谢谢

亚历克斯


答案 1

就其价值而言,我的直觉是这不是原因。很难花很长时间用1.1MB的字节码做任何事情;我从来没有注意到dex花费了任何重要的时间。但是,为了论证,让我们假设这是问题所在。

如果它足够重要,你可能会把番石榴切成薄片,去掉你不使用的整个包装。它由几个部分组成,这些部分不一定都是相互关联的。.jar

我不认为这会加快速度,但也许值得一提的是:如果你通过Proguard(现在与SDK捆绑在一起的优化器)运行构建,它可以在你到达DEX之前删除未使用的类(并且,对字节码进行一系列其他出色的优化)。但是,当然,这个过程本身可能比dex-ing需要更长的时间。


答案 2

推荐