Здається, тут розміщена невірна інформація. деякі люди повідомляють про те, як очистити кеш-пам'ять будівельника 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. нічого спільного з кешем