Со времени последнего обновления (сборка от 25 июня) любые изменения в Android-студии Gradle мучительно медленно. И, кажется, он также автоматически отслеживает изменения, когда вы редактируете файл и перекомпилируете по keyup.
Каждое изменение занимает несколько минут на моем i5.
Любая идея, как я могу ускорить изменения Gradle?
android
android-studio
Эйнар Сундгрен
источник
источник
Ответы:
Разработчики работают над этим. Как я уже писал в этом ответе, самым быстрым решением сейчас является использование gradle из командной строки, и вам следует переключиться на двоичные библиотеки для всех модулей, которые вы не разрабатываете. На g + идет обсуждение с разработчиками по этому поводу.
источник
Определенно имеет значение: как… ускорить время сборки Gradle
Просто создайте файл с именем
gradle.properties
в следующем каталоге:Добавьте эту строку в файл:
источник
После изменения этих настроек время компиляции за 10 минут сократилось до 10 секунд.
Шаг 1:
Шаг 2:
Шаг 3: В вашем файле gradle.properties -> Добавить следующие строки
Обновить:
Если вы используете Android Studio 2.0 или выше, попробуйте Instant Run
Подробнее о Instant Run - https://developer.android.com/studio/run/index.html#instant-run
источник
Мне удалось уменьшить сборку Gradle с 43 до 25 секунд на моем старом ноутбуке core2duo (под управлением Linux Mint), добавив следующее в файл gradle.properties в Android Studio.
Источник, объясняющий, почему настройка демона ускоряет сборку: https://www.timroes.de/2013/09/12/speed-up-gradle/
источник
Выполнение шагов сделает его в 10 раз быстрее и сократит время сборки на 90%.
Сначала создайте файл с именем gradle.properties в следующем каталоге:
Добавьте эту строку в файл:
И проверьте эти параметры в Android Studio
источник
Существует более новая версия Gradle (версия 2.4).
Вы можете установить это для вашего проекта (ов), открыв диалоговое окно «Структура проекта» из меню «Файл»,
и установите его на «2,4».
Вы можете прочитать больше о повышении производительности по этой ссылке .
источник
В Android Studio 2.1 вы можете включить «Dex In Process» для более быстрой сборки приложений.
Вы можете получить больше информации об этом здесь: https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e#.vijksflyn
источник
Это то, что я сделал, и моя скорость сборки Gradle значительно улучшилась! от 1 минуты до 20 секунд для первой сборки и последующие сборки стали от 40 секунд до 5 секунд.
В файле gradle.properties добавьте это:
В командной строке Аргументы выберите «Файл»> «Другие параметры»> «Настройки по умолчанию»> «Построить, выполнить, развернуть> Complier» и добавьте следующие аргументы в аргументы командной строки.
Добавь это:
источник
Старайтесь избегать использования Mac / ПК с ОЗУ всего 8 ГБ при разработке Android. Как только вы запускаете хотя бы один эмулятор (Genymotion или другой), время сборки в Android Studio становится слишком медленным, а сборка происходит автоматически. Это происходит, даже если вы вносите простое однострочное изменение в 1 исходный файл.
Закрытие эмулятора и использование реального устройства очень помогает, но, конечно, это очень ограниченно и менее гибко. Может помочь уменьшение использования памяти в эмуляторе, но лучше всего убедиться, что на вашем ноутбуке установлено как минимум 12-16 ГБ оперативной памяти.
Обновление (июнь 2017 г.): теперь есть несколько хороших статей на medium.com, в которых подробно объясняется, как ускорить сборку Android Studio, и даже она работает на 8 ГБ компьютерах:
Суммарный консенсус:
Создайте файл gradle.properties (глобальный
~/.gradle/gradle.properties
или локальный для проекта) и добавьте следующие строки:источник
Включить автономную работу
Повысьте производительность Gradle, добавив следующий код в
gradle.properties
Пошаговое руководство: http://www.viralandroid.com/2015/08/how-to-make-android-studio-fast.html
источник
источник
Согласно этой странице команды разработчиков Android-приложений для Викимедиа , хорошим способом оптимизации сборок Gradle является добавление этих строк в ~ / .gradle / gradle.properties
Для тех, у кого нет файла, есть два способа сделать это:
Добавьте файл локально в ваш проект, создав файл с именем gradle.properties в корне проекта или,
Вы можете установить их глобально для всех ваших проектов, создав один и тот же файл в вашем домашнем каталоге (% UserProfile% .gradle в Windows , ~ / .gradle в Linux и Mac OS X )
Это хорошая практика , чтобы установить свойство в вашем домашнем каталоге, а не на уровне проекта.
источник
Вы также можете использовать командную строку для повышения производительности. Вы можете использовать команду ./gradlew
<task name>
из корневой папки вашего проекта из linux или использовать файл gradlew.bat, такой как gradlew. Когда<task name>
вы впервые запускаете одну из приведенных выше команд для данного Gradle версия, он загрузит соответствующий дистрибутив Gradle и использует его для выполнения сборки.При импорте проекта Gradle через его оболочку ваша IDE может попросить использовать дистрибутив Gradle «all». Это прекрасно и помогает IDE обеспечить завершение кода для файлов сборки. Это не только означает, что вам не нужно вручную устанавливать Gradle, но вы также обязательно используете версию Gradle, для которой предназначена сборка. Это делает ваши исторические постройки более надежными. для получения дополнительной информации обратитесь к разделу Выполнение сборки с помощью Wrapper.
источник
Для более быстрой сборки увеличьте максимальный размер кучи для демона Gradle до более чем 2048 МБ.
Для этого установите
org.gradle.jvmargs=-Xmx2048M
в проекте gradle.properties .
источник
Добавить
build.gradle
файл:Я надеюсь, что это помогает.
источник
Я использую i7 5-го поколения с Windows 10 и 1 ТБ Solid State. Я сжал папку проектов Android Studio и получил около 80% прироста. Надеюсь это поможет.
Затем я объединил его с вышеуказанными решениями, т.е. (org.gradle.parallel = true, org.gradle.daemon = true). Повышение производительности было довольно впечатляющим.
Дополнительно:
Все вышеприведенные ответы полностью верны, но я должен заявить как опытный разработчик Android (от 4 с половиной лет), что: ни один разработчик Android / Gradle не должен работать на машине с приводом вращения, вам нужно раскошелиться на Твердое состояние. Мы все нажимаем эту кнопку воспроизведения в IDE 100 раз в день. Когда я перешел от спиннера к SSD (после Gradle), моя скорость и эффективность были буквально в 2–4 раза выше, и я обещаю, что я НЕ преувеличиваю.
Сейчас я не говорю о машине с маленьким SSD и большим счетчиком, я говорю об одном большом SSD. Если у вас уже есть машина с небольшим твердотельным накопителем и большим вращателем, вы можете модернизировать этот маленький накопитель до 500 ГБ и установить его в качестве основного диска ОС с установленными на нем инструментами разработчика.
Поэтому, если вы работаете в быстром темпе, покажите этот пост своему боссу. Приличный твердотельный накопитель емкостью 1 ТБ обойдется вам примерно в 300 фунтов стерлингов (включая НДС) или в 160 фунтов стерлингов за 500 ГБ SSD. В зависимости от того, являетесь ли вы младшим или старшим разработчиком Android, накопитель окупит себя (в виде расходов на заработную плату) в течение 1-2 рабочих недель или примерно от 2,5 до 5 рабочих дней, если вы инвестируете в меньшие; скажем 500GB SSD.
Многие разработчики могут утверждать, что это не так, но это относится к Gradle, так как система Gradle очень сильно затрудняет прямой доступ к диску. Если вы работаете с .NET / C # / VB Net или другими инструментами разработки, вы не заметите большой разницы, но разница в Gradle огромна. Если вы будете действовать на этот пост, я обещаю вам, вы не будете разочарованы. Лично я использую i5 пятого поколения с 8 ГБ оперативной памяти, которая изначально шла со спиннером 1 ТБ, и я обновил его до Samsung SSD 840 EVO 1 ТБ, и с тех пор я никогда не оглядывался назад. Я купил свой у: https://www.aria.co.uk .
Надеюсь это поможет. Также я должен заявить, что это НЕ коммерчески мотивированный пост, я просто рекомендую Aria, поскольку я использовал их много раз прежде, и они всегда были надежными.
источник
Несколько команд, которые мы можем добавить в файл gradle.properties:
org.gradle.configureondemand = true - эта команда скажет gradle создавать только те проекты, которые действительно нужны для сборки. Используйте Daemon - org.gradle.daemon = true - Daemon поддерживает работу экземпляра gradle в фоновом режиме даже после завершения сборки. Это устранит время, необходимое для инициализации gradle, и значительно сократит время сборки.
org.gradle.parallel = true - Разрешить Gradle для создания вашего проекта параллельно. Если в вашем проекте несколько модулей, то, включив это, Gradle может параллельно выполнять операции сборки для независимых модулей.
Увеличение размера кучи - org.gradle.jvmargs = -Xmx3072m -XX: MaxPermSize = 512m -XX: + HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8 - Начиная с Android Studio 2.0, gradle использует dex в процессе, чтобы уменьшить время сборки для проект. Как правило, при создании приложений несколько процессов dx выполняются на разных экземплярах виртуальных машин. Но начиная с Android Studio 2.0 все эти процессы dx выполняются в одной виртуальной машине, и эта виртуальная машина также используется совместно с Gradle. Это значительно сокращает время сборки, поскольку весь процесс dex выполняется на одних и тех же экземплярах виртуальной машины. Но для этого требуется больше памяти для размещения всех процессов dex и gradle. Это означает, что вам нужно увеличить размер кучи, требуемый демоном gradle. По умолчанию размер кучи для демона составляет около 1 ГБ.
Убедитесь, что динамическая зависимость не используется. т.е. не используйте реализацию 'com.android.support:appcompat-v7:27.0.+'. Эта команда означает, что gradle будет подключаться к сети и проверять наличие последней версии каждый раз при сборке приложения. Вместо этого используйте фиксированные версии, то есть 'com.android.support:appcompat-v7:27.0.2'
источник
Добавьте это в свой
gradle.properties
файлисточник
Откройте файл gradle.properties из папки Android и раскомментируйте выделенные строки и укажите значения памяти в соответствии с конфигурацией вашего компьютера. У меня есть 8 ГБ оперативной памяти на моей машине, поэтому я дал максимум 4096 МБ и 1024 МБ соответственно.
Мое время сборки было сокращено до половины после этого. Счастливое здание !!
источник
Это часто происходит, когда вы включили мультидекс в вашем проекте. Это может потенциально замедлить ваш процесс разработки !! По словам док :
но вы можете оптимизировать это:
Поэтому вам нужно установить minSdkVersion на 21 или выше !
Но если ваша рабочая версия должна поддерживать minSdkVersion ниже 21, например 19
Вы можете использовать productFlavors для установки minSdkVersion 21 для вашей версии dev :
источник
Я предпочитаю сборку из командной строки для лучшего времени сборки. Если база кода вашего приложения велика и у вас есть несколько модулей, вы можете попробовать локальный подход AAR как описано здесь, это значительно увеличит производительность Android Studio и сократит время сборки. Он также совместим со сборками командной строки
https://blog.gojekengineering.com/how-we-improved-performance-and-build-times-in-android-studio-306028166b79
Демо-проект с инструкциями по интеграции можно найти здесь: https://github.com/akhgupta/AndroidLocalMavenRepoAARDemo
источник