parece haver informações incorretas postadas aqui. algumas pessoas relatam como limpar o cache do construtor Android (com tarefa cleanBuildCache), mas parecem não perceber que esse cache é independente do cache de compilação de Gradle, o AFAIK.
meu entendimento é que o cache do Android é anterior (e inspirado) ao Gradle, mas eu posso estar errado. se o construtor Android será / foi atualizado para usar o cache de Gradle e se aposentar, não sei.
EDIT: o cache do construtor Android é obsoleto e foi eliminado. o plug-in Android Gradle agora usa o cache de compilação do Gradle. Para controlar esse cache, você deve agora interagir com a infraestrutura de cache genérica da Gradle.
DICA: pesquise a ajuda do cache de Gradle on-line sem mencionar a palavra-chave 'android' para obter ajuda para o cache relevante no momento.
EDIT 2: devido à pergunta de tir38 em um comentário abaixo, estou testando usando um projeto Android Gradle plugin v3.4.2. o cache gradle é ativado por org.gradle.caching=truein gradle.properties. eu faço algumas clean builde, pela segunda vez, a maioria das tarefas é exibida FROM-CACHEcomo status, mostrando que o cache está funcionando.
surpreendentemente, eu tenho uma cleanBuildCachetarefa gradle e um <user-home>/.android/build-cache/3.4.2/diretório, ambos sugerindo a existência de um cache do construtor Android.
eu executo cleanBuildCachee o 3.4.2/diretório se foi. Em seguida, faço outro clean build:
- nada mudou: a maioria das tarefas é exibida
FROM-CACHEcomo status e a compilação concluída em velocidades ativadas por cache.
- o
3.4.2/diretório é recriado.
- o
3.4.2/diretório está vazio (exceto 2 arquivos ocultos, de tamanho zero).
conclusões:
- o armazenamento em cache de todas as tarefas normais do construtor Android é tratado pela Gradle.
- a execução
cleanBuildCachenão limpa ou afeta o cache de compilação de forma alguma.
- ainda existe um cache do construtor Android. pode ser um código vestigial que a equipe de criação do Android esqueceu de remover ou pode realmente esconder algo estranho que, por qualquer motivo, não tenha ou não possa ser portado para usar o cache Gradle. (a opção "não pode" ser altamente improvável, IMHO.)
Em seguida, eu desativar o cache Gradle removendo org.gradle.caching=truea partir gradle.propertiese eu tentar um par de clean build:
- as compilações são lentas.
- todas as tarefas mostram seu status como sendo executadas e não armazenadas em cache ou atualizadas.
- o
3.4.2/diretório continua vazio.
mais conclusões:
- não há fallback do cache do construtor Android para quando o cache do Gradle falhar.
- o cache do construtor Android, pelo menos para tarefas comuns, foi realmente eliminado como afirmei antes.
- o documento android relevante contém informações desatualizadas. em particular, o cache não é ativado por padrão, conforme indicado lá, e o cache Gradle deve ser ativado manualmente.
EDIT 3: o usuário tir38 confirmou que o cache do construtor Android é obsoleto e foi eliminado com essa descoberta . tir38 também criou esse problema . obrigado!
Compiler -> GradlenãoUse in-process build. nada a ver com o cache