Здається, тут розміщена невірна інформація. деякі люди повідомляють про те, як очистити кеш-пам'ять будівельника Android (із завданням cleanBuildCache
), але, схоже, не усвідомлюють, що вказаний кеш не залежить від кеша збірки Gradle, AFAIK.
моє розуміння полягає в тому, що кеш Android передує (і надихнув) Gradle, але я можу помилитися. чи буде / розробник Android буде оновлений, щоб використовувати кеш Gradle та вилучати свій власний, я не знаю.
РЕДАКТУЙТЕ: кеш-пам'ять будівельника Android застарів і його було усунено. тепер плагін Android Gradle замість цього використовується кеш-пам'ять збірки Gradle. для управління цим кешем тепер потрібно взаємодіяти з загальною інфраструктурою кешу Gradle.
ПОРАДА: шукайте довідку щодо кешу Gradle в Інтернеті, не згадуючи ключове слово "android", щоб отримати довідку про поточний відповідний кеш.
EDIT 2: через запитання tir38 у коментарі нижче, я тестую за допомогою плагіна Android Gradle v3.4.2. кеш gradle увімкнено org.gradle.caching=true
в gradle.properties
. Я роблю пару clean build
і вдруге показує більшість завданьFROM-CACHE
свій статус, показуючи, що кеш працює.
дивно, що у мене є cleanBuildCache
завдання gradle та <user-home>/.android/build-cache/3.4.2/
каталог, які натякають на існування кеша Android будівельника.
я виконую, cleanBuildCache
і 3.4.2/
каталог вже немає. далі я роблю ще clean build
:
- нічого не змінилося: більшість завдань показує
FROM-CACHE
їх статус та збірку завершують із швидкістю кешу.
3.4.2/
каталог заново.
3.4.2/
каталог порожній (за винятком 2 приховані, файли нульової довжини маркера).
висновки:
- кешування всіх звичайних завдань для розробника Android здійснює Gradle.
- Виконання
cleanBuildCache
не очищає і не впливає на кеш збірки.
- там ще зберігається кеш-пам’ятник Android. це може бути вестигіальний код, який команда побудови Android забула видалити, або він насправді може кешувати щось дивне, що з будь-якої причини не може або не може бути перенесено для використання кешу Gradle. (Варіант "не можна" є дуже незмінним, IMHO.)
Наступний, я відключити Gradle кеш, видаливши org.gradle.caching=true
з gradle.properties
і я спробувати пару clean build
:
- нарощування відбувається повільно.
- всі завдання показують їх стан як виконаний, а не кешований або оновлений.
3.4.2/
каталог продовжує бути порожнім.
більше висновків:
- відсутній запасний кеш-пам’ятник для Android, коли кеш Gradle не вдасться.
- кеш-пам’ятник Android, принаймні для звичайних завдань, справді було вилучено, як я вже говорив раніше.
- відповідний андроїд-документ містить застарілу інформацію. зокрема кеш не включений за замовчуванням, як зазначено там, а кеш Gradle повинен бути включений вручну.
EDIT 3: користувач tir38 підтвердив , що кеш Android будівельника застарів і був усунутий з цією знахідкою . tir38 також створив це питання . Дякую!
Compiler -> Gradle
на «не»Use in-process build
. нічого спільного з кешем