- Как очистить кеш gradle?
- Put your Android Studio on a diet
- How to make a deep clean of your Android Studio & Gradle junk files to fix up the mess.
- Clear your project directory
- Gradle cleaning
- Android Studio cleanup
- Extra cleaning
- Android studio plugin to clear cache
- Idea 1 — Writing a Gradle script to clear cache:
- Idea 2 — Creation of a plugin:
- Как очистить кэш gradle?
- РЕДАКТИРОВАТЬ: cleanBuildCache больше не работает
Как очистить кеш gradle?
Я пытаюсь использовать Android Studio, и в первый раз, когда я его загружаю, для компиляции требуется 45 минут. Если я не выхожу из приложения, все в порядке – каждая последующая компиляция/запуск приложение займет 45 секунд.
Я попытался проверить некоторые из моих кэшей: там есть папка .gradle/caches в моем домашнем каталоге, и она как 123 МБ большая.
Там также папка .gradle в моей папке проекта… один из taskArtifacts был похож на 200 МБ. Я боюсь просто случайно разжечь их обоих. Какие части папок безопасны для удаления?
Есть ли лучшее объяснение того, почему моя Android-студия навсегда запускает задачу gradle assemble при первой загрузке приложения?
Нужно ли также очищать кеш intellij?
Вы можете безопасно удалить всю папку .gradle расположенную в каталоге проекта. Он будет воссоздан каждый раз при выполнении задач. То же самое для .gradle в домашнем каталоге. Он также будет воссоздан, но все зависимости должны быть загружены снова – это довольно много времени.
Как я вижу, в различных местах в Интернете разработка приложений для Android идет довольно медленно, и люди жалуются на это. Понятия не имею, что именно причина – это, как это работает.
Я не думаю, что низкая производительность из-за больших папок. На самом деле они помогают ему быть быстрее.
Как отметил @Bradford20000 в комментариях, там может быть файл gradle.properties а также глобальные сценарии gradle, расположенные в $HOME/.gradle . В этом случае особое внимание должно быть уделено удалению содержимого этого каталога. Каталог кеша содержит кеш сборки Gradle . Так что если у вас есть какие-либо ошибки по этому поводу, вы можете удалить это. Это на .gradle/caches
Gradle кеш находится в
- В Windows: %USER_HOME%\.gradle/caches/
- На Mac/Unix: $HOME/.gradle/caches/
Вы можете перейти к этим каталогам и вручную удалить их или запустить
в системе Unix. Выполнение этой команды также приведет к загрузке зависимостей.
Примечание: Android Studio File | Invalidate Caches/Restart не очищает кэш сборки Android, поэтому вам придется очищать его отдельно.
На Mac или Linux:
Новейшее решение с использованием задачи Gradle
cleanBuildCache
доступно через плагин Android для Gradle, редакция 2.3.0 (февраль 2017 г.)
- Gradle 3.3 или выше.
- Инструменты сборки 25.0.0 или выше.
больше на:
Сборка кеша:
хранит определенные выходные данные, которые плагин Android генерирует при сборке вашего проекта (например, неупакованные AAR и предварительно удаленные зависимости). Ваши чистые сборки намного быстрее при использовании кэша, потому что система сборки может просто повторно использовать эти кэшированные файлы во время последующих сборок вместо того, чтобы создавать их заново. Проекты, использующие плагин Android 2.3.0 и выше, по умолчанию используют кэш сборки. Чтобы узнать больше, прочитайте статью Улучшение скорости сборки с помощью Build Cache.
Примечание. Задача cleanBuildCache недоступна, если отключить кэш сборки.
использование:
** gradle/gradlew – системные файлы, содержащие скрипты – пожалуйста, смотрите системную информацию о том, как выполнить скрипт
Будьте осторожны с демоном gradle, вы должны остановить его до очистки и повторно запустить gradle.
Остановить первого демона:
Очистить кеш, используя:
Запустите сборку еще раз
Демон gradle также создает множество больших текстовых файлов для каждого журнала сборки. Они хранятся здесь:
“XX” – это используемая версия gradle, например “4.4”, а “XXXX” – просто случайные числа, например “1234”.
Общий размер может вырасти до нескольких сотен МБ всего за несколько месяцев. Нет возможности отключить ведение журнала, и файлы не удаляются автоматически, и их на самом деле не нужно сохранять.
Но вы можете создать небольшую задачу для автоматического удаления и освободить много дискового пространства:
Добавьте это в ваше app/build.gradle :
Чтобы увидеть, какие файлы удаляются, вы можете увидеть выходные данные отладки в Android Studio → Вид → Инструмент Windows → Построить. Затем нажмите кнопку “Переключить просмотр” в этом окне, чтобы показать вывод текста.
Обратите внимание, что Gradle Sync или любая Gradle Build вызовут удаление файла.
Лучше всего было бы автоматически переместить файлы в корзину или, по крайней мере, сначала скопировать их в папку “Корзина”. Но я не знаю, как это сделать.
Кажется, здесь размещена неверная информация. некоторые люди сообщают о том, как очистить кэш cleanBuildCache Android (с помощью задачи cleanBuildCache ), но, похоже, не понимают, что указанный кэш не зависит от кэша сборки Gradle, AFAIK.
Насколько я понимаю, кеш Android предшествует (и вдохновлен) кешей Gradle, но я могу ошибаться. будет ли Android-строитель обновлен для использования кэша Gradle и удаления его, я не знаю.
Если вас интересует весь кеш IntelliJ. Ну вот.
Вам не нужно делать это вручную, пусть IntelliJ сделает это за вас. Зайдите в панель управления и попробуйте удалить ее. Он предлагает вам возможность удалить кэш, а также другие параметры. Подумайте дважды, прежде чем пытаться это сделать. Это может создать другие проблемы, такие как другие ответы, упомянутые по этому поводу.
Источник
Put your Android Studio on a diet
How to make a deep clean of your Android Studio & Gradle junk files to fix up the mess.
Do you know that when you’re updating your Android Studio, Gradle or even dependencies, some old files are still present on your machine and can waste some disk free space?
On our laptops, disk space is limited and clearing those files will make you gain a lot of free space available. Having too many junk files may also slow down your machine and your builds!
In my case, I was also having strange build errors or gradle sync failures when it was working on my colleague’s machine.
It was time to do some deep cleaning and put our Android Studio on a diet by following some simple steps.
Clear your project directory
- Obviously, try to clean your project from android studio : “ Build -> Clean Project”. This will clear your build folders.
- Clear the cache of Android Studio using “ File -> Invalidate Caches / Restart” choose “ Invalidate and restart option” and close Android Studio.
- Remove your .gradle directory from the root of your project. It contains some Gradle cache files.
- Delete also the .idea directory ( make a backup before). It contains some project configuration files.
- Restart Android Studio.
Big project directories can weight around 500MB to 1GB.
Gradle cleaning
Now let’s take a look at Gradle files. If none of the above suggestions fix your problem, try these:
/.gradle directory. This is the Gradle home directory, containing caches, daemons and wrappers files. This is a really huge one, mine was
Inside those directories, you’ll have sub-directories for each version of Gradle you’ve been using. So, the more projects you have with different Gradle versions, the more sub-directories you will have.
You can delete those 3 directories:
- caches: Gradle cache files.
- daemon: essentially logs files of Gradle daemons.
- wrapper: different distributions of Gradle downloaded on you machine.
Android Studio cleanup
- Go to your Android home, usually
/.android and clear build-cache and cache directories. There are few MB to free here (
100MB for me)
In the
/Library/ directories, you will find the Android Studio preferences files, settings and plugins. You can clear the directories of previous version of Android Studio (> 1GB per version of AS). Starting with version 3.3, Android Studio will propose you to remove them after an update.
Android SDK cleaning
On Android Studio, check the SDK Manager and remove the following items:
- Old SDKs you don’t use anymore. I guess you’ll not miss the Android 3.0 SDK files.
- Remove the emulators you don’t use as they’re quite heavy ( some GB).
- I recommend to keep “Sources for Android xx” items as it will allow you to check the source code of the SDK from a previous version of Android & help you debugging.
- On the SDK Tools tab, click on “Show Packages Details” and uncheck the old build-tools or NDK versions.
- Delete unused emulators using the AVD.
You can gain easily 10GB with these steps.
Extra cleaning
There is some extra stuff you can clean too:
- Your download directory: you may have downloaded a lot of GIFs, video, Android Studio binaries that you can remove.
- Clear your local git branches that have been merged (don’t remove the ones that you still need!).
- Delete all those photoshopped pictures of your colleagues ( ͡° ͜ʖ ͡°).
- Clear your recycle bin.
That’s it ! You’ve gained some precious disk space on your machine and maybe fixed some weird issues with your Android Studio.
I don’t recommend to do a full clean everyday, you’ll waste time and your build time will be quite longer so you’ll be less productive. Take it only as a “spring cleaning” ritual.
I hope it helped you, and don’t forget to follow the Marie Kondo mantra and only keep things that spark joy.
Источник
Android studio plugin to clear cache
If the user needs to delete any library cache of a project, they have to traverse through the . gradle/cache/modules-2/files-2.1 and . gradle/cache/modules-2/metadata-x.xx paths to delete the cache. It really consumes much time of the user. This kind of situations will arise when the project consumes internal libraries with more frequent library release on the same version.
To avoid this manual deletion process, multiple ideas raised in my mind to automate the deletion of the cached library.
Idea 1 — Writing a Gradle script to clear cache:
I have written a Gradle script to automate the removal of caches (specific cache folders of our project that we manually remove). Below are the steps to add the script in your project.
- Create a new folder inside your app( In my case I named it as scripts )
- Create a .gradle file inside this folder ( In my case I named it as clearcache.gradle )
- Add the following script inside the newly created .gradle file
4. Add the below line to your app’s build.gradle
Now the script is ready. So whenever you want to delete the cache folders execute the following command in your terminal.
For Windows users:
This idea exhibited few disadvantages
- The user has to do these steps at least one time.
- Whenever the user wants to delete the library cache, they have to specify the package prefix in the Gradle script before running the script.
- No way for the user to select the library cache which is to be deleted.
- And this has to be done for every project.
To overcome these disadvantages, there comes another idea of creating a plugin.
Idea 2 — Creation of a plugin:
Created a plugin which takes care of the deleting library cache. This plugin provides a User Interface where the user has the option to select and delete the library cache they want. Used IntelliJ IDEA Community Edition 2018.1.6 to build this plugin which is compatible with Android Studio Version 3.2+.
I am not going to explain the steps, have a look at Marcos Holgado’s Write an Android Studio Plugin Part 1: Creating a basic plugin . This will give you an idea to create a plugin and also have a look at my project at GitHub to get an idea about the classes that I have written.
Источник
Как очистить кэш gradle?
Я пытаюсь использовать Android Studio, и при первой загрузке на компиляцию уходит около 45 МИНУТ . Если я не закрываю приложение, ничего страшного — каждая последующая компиляция / запуск приложения займет около 45 секунд.
Я попытался проверить некоторые из своих кешей: .gradle/caches в моем домашнем каталоге есть папка, которая содержит 123 МБ.
В .gradle папке моего проекта также есть папка . одна из них taskArtifacts была размером 200 МБ. Я боюсь просто случайно убить их обоих. Какие части папок безопасно удалить?
Есть ли лучшее объяснение того, почему моя Android Studio всегда запускает gradle assemble задачу при первой загрузке приложения?
Должен ли я также очистить кэш intellij?
Как отметил @ Bradford20000 в комментариях, там может быть gradle.properties файл, а также глобальные скрипты Gradle $HOME/.gradle . В этом случае особое внимание должно быть уделено удалению содержимого этого каталога.
.gradle/caches Каталог содержит Gradle кэш сборки. Так что, если у вас есть ошибка в кеше сборки, вы можете удалить ее.
Gradle кеш находится в
- В Windows: %USER_HOME%\.gradle/caches/
- На Mac / Unix:
Вы можете перейти к этим каталогам и вручную удалить их или запустить
в системе Unix. Выполнение этой команды также приведет к загрузке зависимостей.
Примечание: файл Android Studio | Invalidate Caches / Restart не очищает кэш сборки Android, поэтому вам придется очищать его отдельно.
На Mac или Linux:
РЕДАКТИРОВАТЬ: cleanBuildCache больше не работает
плагин Android Gradle теперь использует функцию кэширования Gradle
Очистите каталог кеша, чтобы избежать попаданий из предыдущих сборок
смотрите здесь (включая правки).
ОБЗОРНАЯ ИНФОРМАЦИЯ:
Новейшее решение с использованием задачи Gradle
cleanBuildCache
доступно через плагин Android для Gradle, редакция 2.3.0 (февраль 2017 г.)
- Gradle 3.3 или выше.
- Инструменты сборки 25.0.0 или выше.
больше на:
Сборка кеша:
хранит определенные выходные данные, которые плагин Android генерирует при сборке проекта (например, распакованные AAR и предварительно удаленные зависимости). Ваши чистые сборки намного быстрее при использовании кэша, потому что система сборки может просто повторно использовать эти кэшированные файлы во время последующих сборок, вместо того, чтобы создавать их заново. Проекты, использующие плагин Android 2.3.0 и выше, по умолчанию используют кэш сборки. Чтобы узнать больше, прочитайте статью Улучшение скорости сборки с помощью Build Cache.
Примечание. Задача cleanBuildCache недоступна, если отключить кэш сборки.
использование:
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 простая задача и /.android/build-cache/3.4.2/ каталог, намекающий на наличие кеша Android Builder.
я исполняю cleanBuildCache и 3.4.2/ каталог исчез. затем я делаю другое clean build :
- ничего не изменилось: большинство задач отображается в FROM-CACHE виде своего состояния, а сборка завершена на скорости кэш-памяти.
- 3.4.2/ каталог заново.
- 3.4.2/ каталог пуст (за исключением 2 скрытые, файлы нулевой длины маркера).
выводы:
- кэширование всех обычных задач Android Builder выполняется Gradle.
- выполнение cleanBuildCache не очищает и никак не влияет на кэш сборки.
- там все еще есть кэш Android Builder. это может быть рудиментарный код, который команда разработчиков Android забыла удалить, или он может фактически кэшировать что-то странное, что по какой-либо причине не может или не может быть перенесено на использование кэша Gradle. (вариант «не может» быть очень улучшаемым, ИМХО.)
Затем я отключаю кеш Gradle, удаляя org.gradle.caching=true из него, gradle.properties и я пробую пару clean build :
- сборки медленные.
- все задачи показывают свой статус как выполненный и не кэшированный или не обновленный.
- 3.4.2/ каталог продолжает быть пустым.
больше выводов:
- в случае сбоя кэша Gradle отсутствует резервная копия кэша Android-компоновщика.
- кеш Android Builder, по крайней мере для общих задач, действительно был устранен, как я уже говорил ранее.
- соответствующий документ Android содержит устаревшую информацию. в частности, кеш не включен по умолчанию, как указано там, и кеш Gradle должен быть включен вручную.
РЕДАКТИРОВАТЬ 3: пользователь tir38 подтвердил, что кэш Android Builder устарел и был удален с этой находкой . tir38 также создал эту проблему . Спасибо!
Источник