Студия Android Gradle наращивает скорость

С момента последнего обновления (с 25 июня) любые изменения в студии Android Gradle болезненно медленны. И это также, кажется, автоотслеживает изменения, когда вы редактируете файл и перекомпилируете его.

Каждое изменение занимает несколько минут на моем i5.

Любая идея, как я могу ускорить изменения Gradle?

Ответ 1

Разработчики работают над этим. Как я уже писал в этом ответе, самым быстрым решением является использование gradle из командной строки, и вы должны переключиться на двоичные библиотеки для всех модулей, которые вы не разрабатываете. На g + существует обсуждение с разработчиками об этом.

Ответ 2

Определенно имеет значение: Как ускорить Gradle время сборки

Просто создайте файл с именем gradle.properties в следующем каталоге:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)

Добавьте эту строку в файл:

org.gradle.daemon=true

Ответ 3

После изменения этих настроек время компиляции 10 минут сокращается до 10 секунд.

Шаг 1:

Настройки (ctrl + Alt + S) →

Сборка, выполнение, развертывание →

Компилятор →

введите "--offline" в поле "Параметры командной строки".

Шаг 2:

установите флажок "Скомпилировать независимые модули параллельно".

& нажмите "Применить" → "ОК"

введите описание изображения здесь

Update:

Если вы используете Android-студию 2.0 или выше, попробуйте Instant Run

Настройки → Сборка, выполнение, развертывание → Мгновенный запуск → Включить мгновенное Запуск.

Дополнительная информация о Instant Run - https://developer.android.com/studio/run/index.html#instant-run

Ответ 4

Мне удалось сократить мою конструкцию gradle с 43 секунд до 25 секунд на моем старом ноутбуке core2duo (работающий linux mint), добавив следующее в файл gradle.properties в студии Android.

org.gradle.parallel=true
org.gradle.daemon=true

источник, по которому параметр daemon делает сборку быстрее: https://www.timroes.de/2013/09/12/speed-up-gradle/

Ответ 5

Следуя шагам, вы сделаете это в 10 раз быстрее и сократите время сборки на 90%

Сначала создайте файл с именем gradle.properties в следующем каталоге:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)

Добавьте эту строку в файл:

org.gradle.daemon=true
org.gradle.parallel=true

И проверьте эти параметры в Android Studio

введите описание изображения здесь

введите описание изображения здесь

Ответ 6

Существует более новая версия gradle (ver 2.4).

Вы можете установить это для своих проектов, открыв диалог "Структура проекта" в меню "Файл",

Project Structure -> Project -> Gradle version

и установите значение "2.4".
Вы можете больше узнать о повышении производительности на этой ссылке.

Ответ 8

Это то, что я сделал, и скорость сборки gradle значительно улучшилась! от 1 минуты до 20 секунд для первой сборки, а последующие сборки стали от 40 секунд до 5 секунд.

В файле gradle.properties Добавьте это:

org.gradle.jvmargs=-Xmx8192M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

В Аргументы командной строки перейдите в меню "Файл" > "Другие настройки" > "Настройки по умолчанию" > "Сборка", "Выполнение", "Развертывание" > "Комплиер" и добавьте следующие аргументы в аргументы командной строки

Добавьте это:

--debug --stacktrace -a, --no-rebuild -q, --quiet --offline

См. изображение здесь

Ответ 9

  • Включить автономную работу

  • Улучшите Gradle Производительность, добавив следующий код в gradle.properties

org.gradle.daemon = истина
  org.gradle.parallel = истина

Пошаговое руководство: http://www.viralandroid.com/2015/08/how-to-make-android-studio-fast.html

Ответ 10

dexOptions {
    incremental true
    javaMaxHeapSize "4g"
}

Ответ 11

Вы также можете использовать командную строку для лучшей производительности. Вы можете использовать команду. /gradlew <task name> из корневой папки вашего проекта из linux или использовать файл gradlew.bat, например gradlew <task name>. Когда вы сначала запускаете одна из приведенных выше команд для данной версии Gradle, она загрузит соответствующий дистрибутив Gradle и использует его для выполнения сборки.

При импорте проекта Gradle через его обертку ваша среда IDE может попросить использовать дистрибутив Gradle all. Это прекрасно, и помогает IDE обеспечить завершение кода для файлов сборки. Это не только означает, что вам не нужно вручную устанавливать Gradle самостоятельно, но вы также обязательно используете версию Gradle, для которой предназначена сборка. Это делает ваши исторические построения более надежными. для получения дополнительной информации см. Выполнение сборки с помощью Wrapper

Ответ 12

Для более быстрой сборки увеличьте максимальный размер кучи для демона Gradle до более чем 2048 МБ.

Для этого установите org.gradle.jvmargs=-Xmx2048M
в проекте gradle.properties.

Ответ 13

Старайтесь избегать использования Mac/ПК с 8 ГБ оперативной памяти при разработке Android. Как только вы запускаете хотя бы один эмулятор (Genymotion или иначе), время сборки становится очень медленным в Android Studio с gradle сборками. Это происходит, даже если вы сделаете простое однострочное изменение в 1 исходный файл.

Закрытие эмулятора и использование реального устройства очень помогает, но, конечно, это очень ограниченно и менее гибко. Снижение уровня использования ОЗУ эмулятора может помочь, но лучший способ - обеспечить, чтобы ваш ноутбук имел как минимум 12-16 ГБ ОЗУ.

Обновление (июнь 2017 г.). В настоящее время существует несколько хороших статей в области средств массовой информации, в которых объясняется, как ускорить сборку Android Studio gradle, и даже работает на машинах емкостью 8 ГБ:

Итоговый консенсус заключается в следующем:

Создайте файл gradle.properties (глобальный в ~/.gradle/gradle.properties или локальный для проекта) и добавьте следующие строки:

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true

Ответ 14

Добавьте файл build.gradle:

android {
...
dexOptions {
        javaMaxHeapSize "4g" //specify the heap size for the dex process
    }
...
}

Надеюсь, это поможет.

Ответ 15

В соответствии с этой страница команды Android Викимедиa > , хороший способ оптимизации Gradle builds добавляет эти строки к вашим ~/.gradle/gradle.properties

org.gradle.daemon=true                                                          
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx2048M

Для тех, у кого нет файла, есть два способа сделать это:

  • Добавьте файл локально в свой проект, создав в корне проекта файл с именем gradle.properties или

  • Вы можете установить их глобально для всех своих проектов, создав тот же файл в своем домашнем каталоге (% UserProfile%.gradle на Windows, ~/.gradle на Linux и Mac OS X)

    хорошая практика, чтобы установить свойства в вашем домашнем каталоге, а не на уровне проекта.

Ответ 16

Im работает с 5-го поколения i7 с Windows 10 и 1TB Solid State. Я сжал папку Android Studio Projects и получил повышение на 80%. Надеюсь, это поможет.

Затем я объединил его с вышеупомянутыми решениями, т.е. (org.gradle.parallel = true, org.gradle.daemon = true). Повышение производительности было весьма впечатляющим.

Дополнительно:

Все вышеперечисленные ответы абсолютно правильны, но я должен заявить, что разработчик Android (от 4 с половиной лет), который: Разработчик Android/ Gradle не должен работать на машине с вращающимся диском, вам нужно для разлома для твердого тела. Мы все нажали эту кнопку воспроизведения в IDE 100 раз в день. Когда я перешел от счетчика к SSD (пост Gradle), моя скорость и эффективность были буквально в 2 - 4 раза быстрее, и я обещаю вам, что не преувеличиваю здесь.

Теперь я не говорю о том, что у меня есть машина с маленьким SSD и большой прядильщик, я говорю о 1 большом SSD. Если у вас уже есть машина с небольшим SSD и большой счетчик, вы можете обновить малый счетчик, чтобы сказать SSD на 500 ГБ, и установить SSD в качестве основного диска ОС с установленными на нем инструментами разработчика.

Итак, если вы работаете в быстро меняющейся среде, покажите это сообщение своему боссу. Приличный SSD с 1 ТБ вернет вам около 300 фунтов стерлингов (включая НДС) или около 160 фунтов стерлингов для SSD на 500 ГБ. В зависимости от того, являетесь ли вы младшим или старшим разработчиком Android, диск будет платить за себя (в расходах на заработную плату) в течение 1-2 рабочих недель или около 2 с половиной до 5 рабочих дней, если вы инвестируете в меньшую сумму; скажем, 500 ГБ SSD.

Многие разработчики могут утверждать, что это не так, но это имеет место для Gradle, так как система Gradle очень трудна для прямого доступа к диску. Если вы работаете с .NET/С#/VB Net или другими инструментами разработки, вы не заметите большой разницы, но разница в Gradle ОГРОМНА. Если вы будете действовать на этом посту, я обещаю вам, вы не будете разочарованы. Лично я использую пятый ген i7 с 8 ГБ оперативной памяти, который первоначально поставлялся с 1TB Spinner, и я обновил его до SSD 840 EVO 1TB от Samsung, и Ive никогда не оглядывался назад. Я купил у меня: https://www.aria.co.uk.

Надеюсь, это поможет. Также я должен сказать, что это НЕ коммерчески мотивированный пост, я просто рекомендую Арию, поскольку Айв использовал их много раз раньше, и они всегда были надежными.