Sto eseguendo il debug dei problemi di Gradle in Android Studio e vedo i riferimenti a "Esegui sincronizzazione dei gradi", ma non sono sicuro di come eseguire questo comando.
Come faccio a eseguire "Gradle sync" da Android Studio o Mac Terminal?
Sto eseguendo il debug dei problemi di Gradle in Android Studio e vedo i riferimenti a "Esegui sincronizzazione dei gradi", ma non sono sicuro di come eseguire questo comando.
Come faccio a eseguire "Gradle sync" da Android Studio o Mac Terminal?
Risposte:
Android studio dovrebbe avere questo pulsante nella barra degli strumenti contrassegnata come "Sincronizza progetto con file di livello"
EDIT: Non so quando è stato cambiato, ma ora sembra così:
EDIT: Ecco come appare su 3.3.1
OPPURE andando su File -> Sincronizza progetto con i file di livello dalla barra dei menu.
ATTENZIONE : il --recompile-scripts
comando è stato deprecato dalla gradle
versione 5.0. Per controllare la tua gradle
versione, esegui gradle -v
.
./gradlew --recompile-scripts
farà una sincronizzazione senza creare nulla.
In alternativa, con la riga di comando nel progetto principale
./gradlew build
Sincronizzerà e costruirà la tua app e richiederà più tempo di una semplice sincronizzazione Gradle
Per vedere tutte le attività di pendenza disponibili, utilizzare ./gradlew tasks
In Android Studio 3.3 è qui:
Secondo la risposta https://stackoverflow.com/a/49576954/2914140 in Android Studio 3.1 è qui:
Questo comando viene spostato in File > Sync Project with Gradle Files
.
Gli amanti delle scorciatoie da tastiera possono aggiungere una scorciatoia per eseguire manualmente la sincronizzazione gradle andando su File -> Impostazioni -> Keymap -> Plugin -> Supporto Android -> Sincronizza progetto con file gradle (fai clic destro su di esso per aggiungere scorciatoie da tastiera) -> Applica - > OK e il gioco è fatto. Scegli un tasto comodo come scorciatoia per la sincronizzazione dei gradi che non sia in conflitto con qualsiasi altro tasto di scelta rapida, (ho scelto Maiusc + 5 come mio tasto di sincronizzazione dei gradi), quindi quando vuoi eseguire manualmente la sincronizzazione dei gradi basta premere questo tasto di scelta rapida.
Presumo che si riferisca a Strumenti> Android> "Sincronizza progetto con file di livello" dal menu principale di Android Studio.
gradle --recompile-scripts
sembra fare una sincronizzazione senza creare nulla. puoi abilitare la costruzione automatica per
gradle --recompile-scripts --continuous
Si prega di fare riferimento alla documentazione per ulteriori informazioni:
https://docs.gradle.org/current/userguide/gradle_command_line.html
Collegamento (Ubuntu, Windows):
Ctrl + F5
Sincronizzerà il progetto con i file Gradle.
Penso che ./gradlew tasks
sia lo stesso con Android studio sync
. Perché? Lo spiegherò.
Incontro un problema quando collaudo il rapporto di copertura Jacoco. Quando corro ./gradlew clean :Test:testDebugUnitTest
direttamente nella riga di comando, appare un errore.
Error opening zip file or JAR manifest missing : build/tmp/expandedArchives/org.jacoco.agent-0.8.2.jar_5bdiis3s7lm1rcnv0gawjjfxc/jacocoagent.jar
Tuttavia, se faccio clic prima su Android Studio Sync, funziona OK. Perché l' build/../jacocoagent.jar
aspetto appare naturale. Non so perché, forse c'è un bug nel plugin jacoco. L'unità che trovo in esecuzione .gradlew tasks
fa apparire anche il barattolo. Quindi posso ottenere lo stesso risultato nello script gralde.
Inoltre, gradle --recompile-scripts
non funziona per il problema.
Ho un problema con la prova che Gradlew Clean non è uguale a ADT Build Clean. E ora sto lottando per farlo riparare.
Ecco cosa ho ottenuto: ho impostato un configProductID = 11111 dal mio gradle.properties, dal mio build.gradle, aggiungo
resValue "string", "ProductID", configProductID
Se eseguo una compilazione pulita da ADT, è possibile generare la risorsa R.string.ProductID. Quindi posso eseguire correttamente il comando muggito.
gradlew assembleDebug
Ma, mentre sto cercando di configurare il server di compilazione, non desidero l'aiuto di ADT IDE, quindi devo evitare di utilizzare ADT build clean. Ecco che arriva il mio problema. Ora cambio il nome della mia risorsa da "ProductID" a "myProductID", faccio:
gradlew clean
Ottengo l'errore
PS D:\work\wctposdemo> .\gradlew.bat clean
FAILURE: Build failed with an exception.
* Where:
Build file 'D:\work\wctposdemo\app\build.gradle'
* What went wrong:
Could not compile build file 'D:\work\wctposdemo\app\build.gradle'.
> startup failed:
General error during semantic analysis: Unsupported class file major version 57
Se provo con:
.\gradlew.bat --recompile-scripts
Ho appena ricevuto l'errore di
Unknown command-line option '--recompile-scripts'.
Chiunque desideri utilizzare la riga di comando per sincronizzare i progetti con file gradle, si prega di notare:
Dal Gradle 5.0,
L'opzione della riga di comando --recompile-scripts è stata rimossa.
https://docs.gradle.org/current/userguide/command_line_interface.html https://github.com/gradle/gradle/issues/1425