Как уменьшить время сборки проекта, использующего Firebase Performance Plugin

в 12:58, , рубрики: build time, firebase, gradle, performance, Разработка под android

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

image

На этом всё. Добавление этого параметра сделает вашу жизнь проще!

Автор: Артур Бадретдинов

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js