Ускорьте сборку Gradle в Android Studio 3.2.1
Вы когда-нибудь чувствовали, что ждете завершения сборки в Android Studio в течение нескольких минут? Я тоже. И это довольно раздражает. К счастью, есть несколько способов улучшить это. Android использует Gradle для сборки. Последняя версия 4.6 имеет огромный прирост производительности по сравнению с предыдущими версиями (подробности см. В примечаниях к выпуску).
Шаг 1. Обновление версии Gradle. Более простой способ сделать это - открыть «Настройки модуля» (ваш проект)> «Структура проекта».
ОБНОВИТЬ
Изменить на версию Gradle: 4.6
и Изменить на версию плагина Android: 3.2.1
Загрузите дистрибутив Gradle Release с https://services.gradle.org/distributions/gradle-4.6-all.zip
и скопируйте его в папку Gradle:
Последний шаг - добавить дискографию в Настройки> Gradle.
Не забудьте нажать кнопку Применить, чтобы сохранить изменения.
Шаг 2. Включите автономный режим, демон Gradle и параллельную сборку для проекта. Автономный режим говорит Gradle игнорировать проверки обновления до даты. Gradle каждый раз запрашивает зависимости, и наличие этой опции заставляет его использовать то, что уже есть на компьютере, для зависимостей. Перейдите в Gradle из настроек Android-студии и щелкните в автономном режиме работы.
- Перейдите в раздел «Настройка компилятора android studio» и добавьте «- offline» в окне командной строки и нажмите «Компилировать независимые модули параллельно».
Следующим шагом является включение демона Gradle и параллельной сборки для вашего проекта. Параллельная сборка приведет к тому, что ваши проекты с несколькими модулями (многопроектные сборки в Gradle) будут построены параллельно, что должно ускорить сборку больших или модульных проектов.
Эти параметры можно включить, изменив файл с именем gradle.properties в каталоге скриптов Gradle (т. Е. ~ / .Gradle / gradle.properties). Некоторые из этих параметров (например, модули Complie параллельно) доступны в Android Studio и также включаются там с помощью по умолчанию, но размещение их в файле gradle.properties включит их при сборке из терминала, а также убедится, что ваши коллеги будут использовать те же настройки. Но если вы работаете в команде, иногда вы не можете совершить это.
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit org.gradle.parallel=true
# When set to true the Gradle daemon is used to run the build. For local developer builds this is our favorite property.
# The developer environment is optimized for speed and feedback so we nearly always run Gradle jobs with the daemon.
org.gradle.daemon=true
Использование демона ускорит запуск ваших сборок, так как не нужно будет каждый раз запускать все приложение Gradle. Gradle Daemon не включен по умолчанию, но рекомендуется всегда включать его для машин разработчиков (но оставлять его отключенным для серверов непрерывной интеграции). Часто задаваемые вопросы об этом режиме можно найти здесь https://docs.gradle.org/current/userguide/gradle_daemon.html . Настройка параллельных сборок может быть небезопасной для некоторых проектов. Требование состоит в том, что все ваши модули должны быть разъединены, иначе сборка может завершиться сбоем ( подробности см. Http://gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects ).
Шаг 3: Включите инкрементные настройки памяти dexign и твик Вы можете ускорить сборку, включив инкрементную индексацию. В файле сборки вашего модуля:
Добавьте эту опцию в свой блок Android:
dexOptions {
incremental true
}
В этом блоке dexOptions вы также можете указать размер кучи для процесса dex, например:
dexOptions {
incremental true
javaMaxHeapSize "12g"
}
Где «12g» - это 12 ГБ памяти. Дополнительную информацию об этом можно найти здесь google.github.io/android-gradle-dsl/current/ Вы также можете настроить параметры Gradle в файле настроек, например, увеличить максимальный размер кучи в случае, если у вас большой проект:
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
См. Весь список параметров здесь: https://docs.gradle.org/current/userguide/userguide_single.html#sec:gradle_configuration_properties для получения подробной информации.
Шаг 4. Отключите антивирус. Рассмотрите возможность исключения файлов проекта и кэша из антивирусной проверки. Это, очевидно, компромисс с безопасностью. Но если вы часто переключаетесь между ветками, антивирус повторно сканирует файлы перед тем, как разрешить использовать процесс gradle, что замедляет время сборки (в частности, проект синхронизации Android Studio с файлами gradle и задачами индексирования). Измерьте время сборки и обработайте процессор с включенным антивирусом и без него, чтобы увидеть, связан ли он. Надеюсь, это поможет. Оставьте комментарий, если у вас есть какие-либо вопросы или другие советы по улучшению производительности сборки.
полезная ссылка