sembra che ci siano informazioni errate pubblicate qui. alcune persone segnalano come cancellare la cache del builder Android (con attività cleanBuildCache) ma non sembrano rendersi conto che detta cache è indipendente dalla cache di build di Gradle, AFAIK.
la mia comprensione è che la cache di Android precede (e ha ispirato) quella di Gradle, ma potrei sbagliarmi. non so se il costruttore Android sarà / è stato aggiornato per utilizzare la cache di Gradle e ritirarne la propria.
EDIT: la cache del builder Android è obsoleta ed è stata eliminata. il plug-in Android Gradle ora utilizza invece la cache di build di Gradle. per controllare questa cache è ora necessario interagire con l'infrastruttura di cache generica di Gradle.
SUGGERIMENTO: cerca l'help della cache di Gradle online senza menzionare la parola chiave "android" per ottenere assistenza per la cache attualmente pertinente.
EDIT 2: a causa della domanda di tir38 in un commento qui sotto, sto testando usando un progetto Android Gradle plug-in v3.4.2. la cache gradle è abilitata da org.gradle.caching=truein gradle.properties. faccio un paio di volte clean builde la seconda volta la maggior parte delle attività mostra FROM-CACHEil loro stato, dimostrando che la cache funziona.
sorprendentemente, ho un cleanBuildCachecompito graduale e una <user-home>/.android/build-cache/3.4.2/directory, entrambi suggerendo l'esistenza di una cache del generatore Android.
eseguo cleanBuildCachee la 3.4.2/directory è sparita. poi ne faccio un altro clean build:
- non è cambiato nulla: la maggior parte delle attività viene visualizzata
FROM-CACHEcome stato e build completata a velocità abilitate per la cache.
- la
3.4.2/directory viene ricreata.
- la
3.4.2/directory è vuota (salva per 2 file di marker nascosti a lunghezza zero).
conclusioni:
- la memorizzazione nella cache di tutte le normali attività del builder Android è gestita da Gradle.
- l'esecuzione
cleanBuildCachenon cancella o influenza la cache di compilazione in alcun modo.
- c'è ancora una cache del generatore Android lì. questo potrebbe essere un codice rudimentale che il team di build di Android ha dimenticato di rimuovere, oppure potrebbe effettivamente memorizzare nella cache qualcosa di strano che, per qualsiasi motivo, non è stato o non può essere trasferito utilizzando la cache Gradle. (l'opzione 'impossibile' essendo altamente migliorabile, IMHO.)
successivamente, disabilito la cache Gradle rimuovendo org.gradle.caching=trueda gradle.propertiese provo un paio di clean build:
- le build sono lente.
- tutte le attività mostrano il loro stato come eseguito e non memorizzato nella cache o aggiornato.
- la
3.4.2/directory continua a essere vuota.
più conclusioni:
- non esiste un fallback della cache del builder Android per quando la cache Gradle non riesce a colpire.
- la cache del builder Android, almeno per le attività più comuni, è stata effettivamente eliminata, come ho detto prima.
- il relativo documento Android contiene informazioni obsolete. in particolare la cache non è abilitata per impostazione predefinita come indicato qui, e la cache Gradle deve essere abilitata manualmente.
EDIT 3: l'utente tir38 ha confermato che la cache del builder Android è obsoleta ed è stata eliminata con questa ricerca . tir38 ha anche creato questo problema . Grazie!
Compiler -> Gradlenon farloUse in-process build. niente a che fare con la cache