Android Studio gradle занимает слишком много времени, чтобы строить
Мой проект Android Studio, который используется для сборки быстрее, но теперь требуется много времени для его создания. Любые идеи, что может вызвать задержки?
Я пробовал qaru.site/info/41035/..., но никакого эффекта. У меня нет антивирусной программы, которая может прервать сборку. Мое приложение не так велико по размеру (около 5 МБ), и оно использовалось для сборки в течение нескольких секунд, но не уверен, что изменилось.
10:03:51 Gradle build finished in 4 min 0 sec
10:04:03 Session 'app': running
10:10:11 Gradle build finished in 3 min 29 sec
10:10:12 Session 'app': running
10:20:24 Gradle build finished in 3 min 42 sec
10:28:18 Gradle build finished in 3 min 40 sec
10:28:19 Session 'app': running
10:31:14 Gradle build finished in 2 min 56 sec
10:31:14 Session 'app': running
10:38:37 Gradle build finished in 3 min 30 sec
10:42:17 Gradle build finished in 3 min 40 sec
10:45:18 Gradle build finished in 3 min 1 sec
10:48:49 Gradle build finished in 3 min 30 sec
10:53:05 Gradle build finished in 3 min 22 sec
10:57:10 Gradle build finished in 3 min 19 sec
10:57:11 Session 'app': running
Ответы
Ответ 1
Нашел причину!! Если Android Studio имеет настройку прокси-сервера и не может связаться с сервером, то для ее создания требуется много времени, возможно, она пытается добраться до прокси-сервера и ждет тайм-аута. Когда я удалил прокси-сервер, установив его работоспособность.
Удаление прокси: File > Settings > Appearance & Behavior > System settings > HTTP Proxy
Ответ 2
В Android Studio зайдите в Файл → Настройки → Сборка, Выполнение, Развертывание → Инструменты сборки → Gradle
(если на Mac) Android Studio → настройки... → Сборка, выполнение, развертывание → Инструменты сборки → Gradle
Проверьте "Работа в автономном режиме" в разделе "Глобальные настройки Gradle".
Это сократит время сборки Gradle на 90%.
![check this to reduce build time]()
Если вы только что добавили новую зависимость в своем Gradle, вам придется снять флажок автономной работы, или Gradle не сможет разрешить зависимости. После полного разрешения, вы можете проверить автономную работу для более быстрой сборки
Ответ 3
Если вы пользуетесь сервисами Google Play, убедитесь, что вы не используете это в своей конструкции Gradle build script:
compile 'com.google.android.gms:play-services:8.3.0'
Используйте только те API Google, которые действительно используют ваше приложение. Если вы используете Google Карты, вы должны использовать это:
com.google.android.gms:play-services-maps:8.3.0
Когда я это сделал, время компиляции прошло от 2 минут до 25 секунд. Список списка Google, который вы можете выборочно компилировать, см.:
https://developers.google.com/android/guides/setup
Ответ 4
Нашел простой и лучший способ построения gradle
перейдите в свое приложение → откройте свои gradle.properties и измените несколько строк из него [remove #]
иначе вы можете скопировать и мой ниже сниппет, а
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx2048m -XX:MaxPermSize=512m
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
он работал у меня раньше, он занимает почти 2-3 минуты, теперь он занимает всего 5-6 секунд
в приведенном выше сценарии моя машина Mac имеет 8 ГБ, поэтому я назначил 4gb для 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
Ответ 6
Включение функций Java 8 вызвало смертельную медленную сборку
gradle
jackOptions {
enabled true
}
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}
После удаления над строками он создается за считанные секунды.
Существует проблема Компиляция с Jack занимает очень много времени
Ответ диспетчера проектов
Мы знаем, что время сборки - проблема с Джеком прямо сейчас. У нас есть улучшения в плагине 2.4 Gradle, который должен стать значительным улучшением для инкрементных построений.
На данный момент самая последняя версия Gradle, которую я могу найти, это 2.3.0-beta4
Ответ 7
Рекомендуемое чтение:
Как я могу сохранить 5h/week в Gradle builds!
В соответствии с этим отличным сообщением вы должны попытаться оптимизировать следующее:
- Gradle Демон
- Выполнение параллельных проектов
- Настройка проектов по запросу
- Модули дороги...
Ответ 8
Решение @AndroidDev работало для меня.
Я включил весь lib в gradle.
compile 'com.google.android.gms:play-services:8.4.0'
Переход к решению проблемы. От 4 мин до 1 мин.
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
Thnx
Ответ 9
Проверьте подключение к Интернету. Если скорость интернета очень медленная gradle, сборка также займет много времени. Я проверяю, изменив мое подключение к Интернету Wi-Fi с еще одним хорошим подключением к скорости. Теперь время сборки нормальное. Попробуйте это, прежде чем переходить к другим решениям. кто-то примет неправильное решение переустановить или изменить настройки. Надеюсь, это поможет. Спасибо и приветствую.
Ответ 10
1) Мое время сборки сильно увеличилось после того, как я добавил некоторые новые зависимости от библиотеки в мой файл gradle, что оказалось, что после этого мне нужно использовать multidex. И когда я правильно настроил multidex, мои времена сборки увеличились до 2-3 минут. Поэтому, если вы хотите увеличить время сборки, избегайте использования multidex и, насколько это возможно, уменьшите количество зависимостей библиотеки.
2) Также вы можете попробовать включить "автономную работу" в студии Android, как это предлагается здесь, и это имеет смысл. Это не будет обновлять библиотеки каждый раз, когда вы создаете сборку. Возможно, медленное соединение или использование proxy/vpn с отключенной "отключенной работой" могут привести к медленному времени сборки.
3) google services - как упоминалось здесь, не используйте весь пакет, используйте только необходимые его части.
Ответ 11
Я столкнулся с одной и той же проблемой в течение длительного времени, но решил ее, установив настройки в gradle.
Шаг 1: В приложении приложения add add add в BuildScript
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
}
}
Шаг 2: добавьте dexOption и дайте следующий кучевый размер
dexOptions {
incremental = true;
preDexLibraries = false
javaMaxHeapSize "4g"
}
Шаг 3: Добавить productFlavors
productFlavors {
dev {
minSdkVersion 23
applicationId = "com.Reading.home"
}
prod {
minSdkVersion 15
applicationId = "com.Reading.home" // you don't need it, but can be useful
}
}
Это должно сократить время сборки.
Ответ 12
В бета-версии Android-студии 2.0 они выкатили функцию Instant Run. Это уменьшает время сборки на большой коэффициент. Основная концепция: Android Studio только подталкивает небольшие изменения, внесенные в уже запущенное приложение.
Он классифицирует изменения, которые мы делаем в нашем коде, на три части: "горячая" замена, "теплый обмен" и "холодный своп", в зависимости от того, сколько нагрузки будет внесено в сборку. После этого он просто меняет код в уже запущенном приложении, и мы получим, что изменения будут работать несколько секунд. Для получения дополнительной информации см. Их doc.
Здесь вы можете скачать предварительный просмотр Android Studio 2.0.
PS: Есть несколько проблем с этой функцией. Они указали это в документах. Проверьте его перед установкой.
Ответ 13
- Перейдите в меню Файл- > Настройка → Gradle → Установите его в автономный режим и проверьте
Ответ 14
Если вы используете Windows 8...
DroidArc и AndroidDev решения, где это полезно, но не enougth.
Моя проблема связана с моей ОС Windows 8 и ее 100% дисковым использованием.
В частности, служба поиска Windows, была наиболее востребованной.
Отключите его: cmd (Admin) > net.exe stop "Поиск в Windows"
Я следил за указаниями в этой ссылке и решил проблему для реального 4 Советы по исправлению 100% использования диска и улучшению производительности Windows
Надеюсь, что это поможет.
Ответ 15
У меня была такая же проблема в котлине. Обновление устаревшей среды исполнения Kotlin решило это для меня
Ответ 16
У меня были такие проблемы, особенно при активной отладке через телефон; иногда это занимало 27 минут. Я сделал следующие вещи и приму к сведению объяснения под каждым - один может работать для вас:
- Изменен мой файл gradle.properties (в скриптах Gradle, если у вас есть вид файла проекта под опцией Android ИЛИ в папке вашего проекта). Я добавил это, потому что у моего компьютера есть немного свободной памяти - вы можете назначить разные значения в конце, в зависимости от технических характеристик вашего компьютера и минимальных требований студии Android (Xmx8000m -XX: MaxPermSize = 5000m):
org.gradle.daemon = верно
org.gradle.configureondemand = верно
org.gradle.parallel = верно
android.enableBuildCache = верно
org.gradle.caching = верно
org.gradle.jvmargs = -Xmx8000m -XX: MaxPermSize = 5000 м -XX: + HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8
- Это не полностью решило мою проблему в моем случае. Поэтому я также сделал, как и предлагали другие, чтобы перевести процесс сборки в автономный режим:
Файл → Настройки/Предпочтения → Сборка, выполнение, развертывание → Gradle
Глобальные настройки Gradle (внизу)
Установите флажок с именем: Автономная работа.
- Это существенно сократило время, но было ошибочным; время от времени занимало больше времени. Поэтому я внес некоторые изменения в Instant Run:
Файл → Настройки/Предпочтения → Сборка, выполнение, развертывание → Мгновенный запуск
Проверено: Включить Instant Run для горячего обмена кода...
Проверено: возобновить активность при изменении кода...
-
Вышеуказанный шаг также был ошибочным, и поэтому я попытался выяснить, может ли проблема быть в процессах/памяти, которые запускались непосредственно на моем телефоне и компьютере. Здесь я освободил немного памяти в своем телефоне и хранилище (которое использовалось на 98% - до 70%), а также в диспетчере задач (Windows), повысил приоритет как Android Studio, так и Java.exe до высокого. Сделайте этот шаг осторожно; зависит от памяти вашего компьютера.
-
После всего этого время моей сборки при активной отладке на моем телефоне время от времени уменьшалось до 1-2 минут, но время от времени увеличивалось. Я решил сделать хак, который удивил меня, сократив его до лучших секунд на том же проекте, который дал мне 22 - 27 минут - 12 секунд !:
Подключите телефон для отладки, затем нажмите RUN
После его запуска отключите телефон - сборка должна продолжаться быстрее и в конце выдается сообщение об ошибке, указывающее на это: Сессия "app": Ошибка при установке APK
Снова подключите телефон и снова нажмите "RUN"...
АЛЬТЕРНАТИВЫ
Если сценарий/функция/метод, который я отлаживаю, является чисто JAVA, а не JAVA-android, например, для тестирования API с помощью JSONArrays/JSONObjects, я проверяю свои java-функции/методы на Netbeans, которые могут скомпилировать один файл и показать результат быстрее, а затем сделать необходимые изменения в моих файлах Android Studio. Это также экономит мне много времени.
РЕДАКТИРОВАТЬ
Я попытался создать новый проект Android в локальном хранилище и скопировал все мои файлы из предыдущего проекта в новый - java, res, manifest, приложение gradle и проект gradle (с последней зависимостью grapath от classpath). И теперь я могу собрать свой телефон менее чем за 15 секунд.
Ответ 17
Вы можете попробовать советы в этом посте Почему ваша Android Studio строится вечно - Часть 2 Один из советов рекомендует "Включить автономный режим" среди других вещей.
Ответ 18
В моем случае синхронизация Gradle была такой длинной из-за одной зависимости, которая находится на amazonaws
. Это была транзитивная зависимость, которую можно отключить
Ответ 19
В вашем build.gradle, если у вас есть minifyEnabled для отладки, удалите его. У меня было это в моем проекте, и это заняло ~ 2-3 минуты. Посмотрев на прогресс сборки, я нашел это виновником, поэтому, удалив закомментированную строку ниже, моя проблема была исправлена.
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}//debug{
// minifyEnabled true
// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}
Ответ 20
У меня была аналогичная проблема на моем компьютере.
Защитник Windows блокировал часть Gradle Building.
Я отключил его, после этого отлично работал.
Ответ 21
Попробуйте перезагрузить компьютер и запустить Android Studio еще раз. Работала для меня, когда пыталась построить проект Cordova/Phonegap с целевой кодовой базой Android.