Я пытаюсь использовать Android Studio, и при первой загрузке на компиляцию уходит около 45 МИНУТ ... Если я не закрываю приложение, ничего страшного - каждая последующая компиляция / запуск приложения займет около 45 секунд.
Я попытался проверить некоторые из своих кешей: .gradle/caches
в моем домашнем каталоге есть папка, которая содержит 123 МБ.
В .gradle
папке моего проекта также есть папка ... одна из них taskArtifacts
была размером 200 МБ. Я боюсь просто случайно убить их обоих. Какие части папок безопасно удалить?
Есть ли лучшее объяснение того, почему моя Android Studio всегда запускает gradle assemble
задачу при первой загрузке приложения?
Должен ли я также очистить кэш intellij?
Compiler -> Gradle
нетUse in-process build
. не имеет ничего общего с кэшемОтветы:
Как отметил @ Bradford20000 в комментариях, там может быть
gradle.properties
файл, а также глобальные скрипты Gradle$HOME/.gradle
. В этом случае особое внимание должно быть уделено удалению содержимого этого каталога..gradle/caches
Каталог содержитGradle
кэш сборки. Так что, если у вас есть ошибка в кеше сборки, вы можете удалить ее.источник
Gradle кеш находится в
%USER_HOME%\.gradle/caches/
~/.gradle/caches/
Вы можете перейти к этим каталогам и вручную удалить их или запустить
в системе Unix. Выполнение этой команды также приведет к загрузке зависимостей.
Обновление 2: очистить кэш сборки Android текущего проекта
Примечание: файл Android Studio | Invalidate Caches / Restart не очищает кэш сборки Android, поэтому вам придется очищать его отдельно.
В Windows:
На Mac или Linux:
источник
gradlew clean cleanBuildCache
РЕДАКТИРОВАТЬ:
cleanBuildCache
больше не работаетплагин Android Gradle теперь использует функцию кэширования Gradle
REF: https://guides.gradle.org/using-build-cache/
REF: https://guides.gradle.org/using-build-cache/#caching_android_projects
ДРУГИЕ ВХОДЫ
смотрите здесь (включая правки).
================
ОБЗОРНАЯ ИНФОРМАЦИЯ:
Новейшее решение с использованием задачи Gradle
cleanBuildCache
доступно через плагин Android для Gradle, редакция 2.3.0 (февраль 2017 г.)
зависимости:
больше на:
https://developer.android.com/studio/build/build-cache.html#clear_the_build_cache
задний план
Сборка кеша:
хранит определенные выходные данные, которые плагин Android генерирует при сборке проекта (например, распакованные AAR и предварительно удаленные зависимости). Ваши чистые сборки намного быстрее при использовании кэша, потому что система сборки может просто повторно использовать эти кэшированные файлы во время последующих сборок, вместо того, чтобы создавать их заново. Проекты, использующие плагин Android 2.3.0 и выше, по умолчанию используют кэш сборки. Чтобы узнать больше, прочитайте статью Улучшение скорости сборки с помощью Build Cache.
Примечание. Задача cleanBuildCache недоступна, если отключить кэш сборки.
использование:
окна
Linux / Mac
Android Studio / IntelliJ
** gradle / gradlew - системные файлы, содержащие скрипты - пожалуйста, смотрите системную информацию о том, как выполнить скрипт
источник
Будьте осторожны с демоном gradle, вы должны остановить его до очистки и перезапустить gradle.
Остановите первый демон:
Очистить кеш, используя:
Запустите снова ваш сборник
источник
Демон gradle также создает множество больших текстовых файлов для каждого журнала сборки. Они хранятся здесь:
«XX» - это используемая версия gradle, например «4.4», а «XXXX» - просто случайные числа, например «1234».
Общий размер может вырасти до нескольких сотен МБ всего за несколько месяцев . Нет возможности отключить ведение журнала, и файлы не удаляются автоматически, и их не нужно сохранять.
Но вы можете создать небольшую задачу для автоматического удаления и освободить много дискового пространства:
Добавьте это к вашему
app/build.gradle
:Чтобы увидеть, какие файлы удаляются, вы можете увидеть выходные данные отладки в Android Studio -> Вид -> Инструмент Windows -> Построить. Затем нажмите кнопку «Переключить вид» в этом окне, чтобы показать вывод текста.
Обратите внимание, что Gradle Sync или любая Gradle Build вызовут удаление файла.
Лучшим способом было бы автоматически переместить файлы в корзину или, по крайней мере, сначала скопировать их в папку «Корзина». Но я не знаю, как это сделать.
источник
Кажется, здесь размещена неверная информация. некоторые люди сообщают о том, как очистить кэш сборщика Android (с заданием
cleanBuildCache
), но, похоже, не понимают, что указанный кэш не зависит от кеша сборки Gradle, AFAIK.Насколько я понимаю, кэш Android предшествует (и вдохновлен) кешей Gradle, но я могу ошибаться. Будет ли Android-строитель обновлен, чтобы использовать кеш Gradle и удалить свой собственный, я не знаю.
РЕДАКТИРОВАТЬ: кэш Android Builder устарел и был удален. плагин Android Gradle теперь использует кеш сборки Gradle. для управления этим кешем вы должны теперь взаимодействовать с общей инфраструктурой кеша Gradle.
СОВЕТ: ищите онлайн-справку по кешу Gradle, не упоминая ключевое слово «android», чтобы получить справку для актуального кеша.
РЕДАКТИРОВАТЬ 2: из-за вопроса tir38 в комментарии ниже, я тестирую с помощью плагина Android Gradle v3.4.2 проекта. кэширование gradle включено
org.gradle.caching=true
вgradle.properties
. я делаю паруclean build
и во второй раз большинство задач показываютFROM-CACHE
как их статус, показывая, что кеш работает.Удивительно, но у меня есть
cleanBuildCache
простая задача и<user-home>/.android/build-cache/3.4.2/
каталог, намекающий на наличие кеша Android Builder.я исполняю
cleanBuildCache
и3.4.2/
каталог исчез. затем я делаю другоеclean build
:FROM-CACHE
виде своего состояния, а сборка завершена на скорости кэш-памяти.3.4.2/
каталог заново.3.4.2/
каталог пуст (за исключением 2 скрытые, файлы нулевой длины маркера).выводы:
cleanBuildCache
не очищает и никак не влияет на кэш сборки.Затем я отключаю кеш Gradle, удаляя
org.gradle.caching=true
из него,gradle.properties
и я пробую паруclean build
:3.4.2/
каталог продолжает быть пустым.больше выводов:
РЕДАКТИРОВАТЬ 3: пользователь tir38 подтвердил, что кэш Android Builder устарел и был удален с этой находкой . tir38 также создал эту проблему . Спасибо!
источник
3.4.2/
каталог. 2. НаличиеcleanBuildCache
задачи. 3. Отключение кэша сборки Gradle и перестройка не показали никаких признаков того, что задачи Android ударяют о кеш.Команда:
rm -rf ~/.gradle/caches/
источник