Firebase Performance Monitor — полезный инструмент, позволяющий сделать Андроид приложение лучше. Но при его подключении время сборки нашего проекта сразу увеличилось на 20-30 секунд, что, согласитесь, не мало.
Мы такие не одни, и я решил опубликовать решение, найденное на Медиуме. Надеюсь, оно поможет и вам сэкономить драгоценное время сборки проекта.
Как уменьшить время сборки проекта, использующего Firebase Performance Plugin
Недавно я добавил Firebase Performance Plugin в один из моих проектов и столкнулся с радикальным увеличением времени сборки приложения. Изначально, сборка проходила менее чем за 20 секунд, после добавления плагина — за 5-6 минут. Поведение раздражающее, поэтому я посмотрел на то, что же увеличивает время сборки.
Если присмотреться, можно увидеть, что следующая задача Gradle занимает очень длительное время:
app:transformClassesWithFirebasePerformancePluginForDebug
Существует фаза пост-компиляции, которая использует Firebase Performance on Android и ведёт к увеличению времени сборки.
Как сгладить проблему
Фикс, который я применил, сглаживает проблему с помощью добавления параметра в команду сборки так, что плагин может быть отключён во время разработки.
В блоке root/buildscript/dependencies
оберните плагин classpath
в следующее условие:
if (!project.hasProperty("disable-performance-plugin")) {
classpath('com.google.firebase:firebase-plugins:1.1.5') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
}
Необходимость исключения com.google.guava
зависит от того, влечёт ли библиотека к конфликтам с вашими зависимостями от Guava, как это описано в в документации.
Затем, в app/build.gradle
добавьте следующее условие:
if (!project.hasProperty("disable-performance-plugin")) {
apply plugin: 'com.google.firebase.firebase-perf'
}
Теперь можно просто собирать проект через командную строку, используя параметр для отключения плагина:
./gradlew your-task -Pdisable-performance-plugin
Если вы используете Android Studio для сборки проекта, вы можете добавить такую же настройку в секции «Настройка коммпилятора». Необходимо установить опции командной строки,
-Pdisable-performance-plugin
На этом всё. Добавление этого параметра сделает вашу жизнь проще!
Автор: Артур Бадретдинов