Добавление Google Guava в проект Android - значительно замедляет сборку - PullRequest
16 голосов
/ 25 сентября 2011

После добавления Google Guava r09 в наш проект для Android время сборки значительно увеличилось, особенно на этапе генерации DEX.Я понимаю, что генерация DEX берет все наши классы + все банки, от которых мы зависим, и переводит их в формат DEX.Гуава - это довольно большая банка около 1,1 МБ

  1. Может ли это быть причиной замедления сборки?
  2. Можно ли что-нибудь сделать, чтобы ускорить это?

PS Обычно я строю из Intellij, но я также пытался строить с Maven - те же результаты.

Спасибо

Alex

1 Ответ

12 голосов
/ 25 сентября 2011

Как бы то ни было, моя интуиция в том, что это не причина.Трудно занять много времени, делая что-либо с простым 1,1 МБ байт-кода;Я никогда не замечал, чтобы Декс занимал какое-то значительное время.Но давайте предположим, что это проблема ради аргумента.

Если это достаточно важно, вы, вероятно, можете нарезать Guava .jar, чтобы удалить целые пакеты, которые вы не используете.Он состоит из нескольких частей, которые не обязательно связаны между собой.

Не думаю, что это ускорит процесс, но, возможно, стоит упомянуть: если вы запускаете сборку через Proguard (оптимизатор)теперь в комплекте с SDK), он может удалить неиспользуемые классы перед тем, как перейти к DEX (и выполнить кучу других замечательных оптимизаций для байтового кода).Но, конечно, этот процесс, вероятно, занимает больше времени, чем дексинг.

...