Кажется, здесь размещена неверная информация. некоторые люди сообщают о том, как очистить кэш сборщика 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 скрытые, файлы нулевой длины маркера).
выводы:
- кэширование всех обычных задач 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 также создал эту проблему . Спасибо!
Compiler -> Gradle
нетUse in-process build
. не имеет ничего общего с кэшем