2014-04-12 23 views
101

Sto cercando di utilizzare Android Studio, e la prima volta che lo avvio, ci vogliono 45 minuti per compilare ... Se non esco dall'applicazione, va bene - ogni successiva compilazione/esecuzione dell'app durerà 45 secondi.Come cancellare la cache gradle?

Ho provato a controllare alcuni dei miei cache: c'è una cartella .gradle/caches nella mia home directory, ed è simile a 123 MB di grandi dimensioni.

C'è anche una cartella .gradle nella mia cartella di progetto ... uno dei taskArtifacts era come 200 MB. Sono spaventato solo a castrarli a caso. Quali parti delle cartelle sono sicure da eliminare?

Esiste una spiegazione migliore del motivo per cui il mio Android Studio sta impiegando per sempre per eseguire l'attività gradle assemble al momento del caricamento dell'applicazione?

Devo anche cancellare anche la cache intellij?

+3

ho scoperto tardi che i 45 minuti da compilare è perché ho cambiato le impostazioni di 'Compilatore -> Gradle' su' Use in-process build'. niente a che fare con la cache –

+0

Nessuna delle risposte ha aiutato. Risulta che alcune immagini sono state danneggiate. L'apertura delle immagini in Esplora risorse mostra rapidamente quali immagini sono danneggiate (quelle per le quali non viene caricata l'anteprima). Sostituito quelle immagini e voilà! – Bimde

risposta

127

È possibile eliminare in modo sicuro l'intera cartella .gradle che si trova nella directory del progetto. Sarà ricreato ogni volta che vengono eseguite le attività. Lo stesso è per .gradle nella directory home. Sarà anche ricreato, ma le dipendenze devono essere scaricate di nuovo - è piuttosto dispendioso in termini di tempo.

Come vedo in vari punti sul gradle web per lo sviluppo di Android è piuttosto lento e la gente si lamenta. Non ho idea di cosa sia esattamente la ragione - è così che funziona.

Non penso che le basse prestazioni siano causa di grandi cartelle. In realtà lo aiutano ad essere più veloce.

Come sottolineato da @ Bradford20000 nei commenti, potrebbe essere presente un file gradle.properties nonché script gradle globali ubicati sotto $HOME/.gradle. In tal caso, occorre prestare particolare attenzione quando si elimina il contenuto di questa directory. La directory cache contiene la cache di build Gradle. Quindi se hai qualche errore su questo puoi cancellarlo. E 'su .gradle/caches

+14

Una cosa da notare è che se si ha un file gradle.properties nella cartella .gradle nella propria directory home, non si vuole cancellare l'intera cartella. In genere, l'eliminazione di .gradle/caches è sufficiente per consentire a Gradle di scaricare nuovamente tutte le dipendenze. – Bradford2000

123

Puoi farlo su Android Studio

Per pulire la cache di sistema:

Nel menu principale, selezionare File | Cache/riavvio invalido. Viene visualizzato il messaggio Invalidate Caches che informa che le cache saranno essere invalidate e ricostruite all'avvio successivo. Utilizzare i pulsanti nella finestra di dialogo per invalidare le cache, riavviare IntelliJ IDEA o entrambi.

https://www.jetbrains.com/idea/help/cleaning-system-cache.html

Update: sopra metodo cancellare la cache Studio Android, non Gradle cache. Gradle di cache individua a

  • Su Windows:% USER_HOME% .gradle/cache
  • Su Mac/Unix: $ HOME /.Gradle/cache/

È possibile navigare a queste directory e eliminare manualmente o eseguire

rm -rf $HOME/.gradle/caches/ 

sul sistema Unix. Esegui questo comando forzerà anche il download delle dipendenze.

Aggiornamento 2:Clear build cache of current project

Su Windows:

gradlew cleanBuildCache 

Su Mac o Linux:

./gradlew cleanBuildCache 
+13

Questo non ha risolto la cache di una dipendenza di tipo Maven. Ho eliminato la libreria dal repository di Maven e ho invalidato le cache di Android Studio, ma il progetto continua a essere creato. Ciò significa che la cache gradle per la dipendenza Maven non viene cancellata. – mattm

+1

Il modo in cui viene descritto cancella solo la cache dal progetto principale e le dipendenze del progetto, ma le dipendenze della libreria sono intatte. Hai descritto come pulire la cache di AndroidStudio, ma non la cache di gradle. – Leandroid

+0

Sì, ma questo non appare su Mac prima di caricare il progetto. – milosmns

19

più recente soluzione utilizzando compito Gradle

cleanBuildCache

disponibile tramite plugin di Android per Gradle, la revisione 2.3.0 (febbraio 2017)

Dipendenze:

  1. Gradle 3.3 o superiore.
  2. Strumenti di compilazione 25.0.0 o versione successiva.

più a:

https://developer.android.com/studio/build/build-cache.html#clear_the_build_cache

sfondo

di cache Corporatura:

negozi determinate uscite che il plugin di Android genera durante la creazione del progetto (ad esempio non imballati AAR e dipendenze remote pre-dexate). Le build pulite sono molto più veloci durante l'utilizzo della cache, in quanto il sistema di compilazione può semplicemente riutilizzare quei file memorizzati nella cache durante le build successive, invece di ricrearli. I progetti che utilizzano il plug-in Android 2.3.0 e versioni successive utilizzano la cache di build per impostazione predefinita. Per saperne di più, leggi Migliora la velocità di costruzione con Build Cache.

Nota: l'attività cleanBuildCache non è disponibile se si disattiva la cache di build.

utilizzo:

finestre

gradlew cleanBuildCache 

linux/mac

gradle cleanBuildCache 

Android Studio/inteliij

gradle tab (default on right) select and run task or add it via configuration window 

** Gradle/gradlew sono file di sistema specifici contenenti script - vedere informazioni di sistema come eseguire lo script

  1. linux - https://www.cyberciti.biz/faq/howto-run-a-script-in-linux/
  2. finestre - https://technet.microsoft.com/en-us/library/bb613481(v=vs.85).aspx
  3. mac https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/index.html
+0

La nuova risposta! – Ferdau

Problemi correlati