Je débogue les problèmes Gradle dans Android Studio et je vois des références à "Exécuter la synchronisation gradle", mais je ne sais pas comment exécuter cette commande.
Comment exécuter "Gradle sync" depuis un studio Android ou un terminal Mac?
Je débogue les problèmes Gradle dans Android Studio et je vois des références à "Exécuter la synchronisation gradle", mais je ne sais pas comment exécuter cette commande.
Comment exécuter "Gradle sync" depuis un studio Android ou un terminal Mac?
Réponses:
Le studio Android devrait avoir ce bouton dans la barre d'outils marqué "Projet de synchronisation avec les fichiers Gradle"
EDIT: Je ne sais pas quand cela a été changé mais cela ressemble maintenant à ceci:
EDIT: Voici à quoi cela ressemble sur 3.3.1
OU en allant dans Fichier -> Synchroniser le projet avec les fichiers Gradle depuis la barre de menus.
ATTENTION : la --recompile-scripts
commande est obsolète depuis gradle
la version 5.0. Pour vérifier votre gradle
version, exécutez gradle -v
.
./gradlew --recompile-scripts
il effectuera une synchronisation sans rien construire.
Alternativement, avec la ligne de commande dans votre projet racine
./gradlew build
Il synchronisera et construira votre application, et prendra plus de temps qu'une simple synchronisation Gradle
Pour voir toutes les tâches de graduation disponibles, utilisez ./gradlew tasks
Dans Android Studio 3.3, c'est ici:
Selon la réponse https://stackoverflow.com/a/49576954/2914140 dans Android Studio 3.1, c'est ici:
Cette commande est déplacée vers File > Sync Project with Gradle Files
.
Les amateurs de raccourcis clavier peuvent ajouter un raccourci pour exécuter manuellement la synchronisation des gradins en accédant à Fichier -> Paramètres -> Keymap -> Plugins -> Support Android -> Synchroniser le projet avec les fichiers Gradle (Faites un clic droit dessus pour ajouter un raccourci clavier) -> Appliquer - > OK et vous avez terminé. Choisissez n'importe quelle touche pratique comme raccourci de synchronisation de gradation qui n'entre pas en conflit avec aucune autre touche de raccourci (j'ai choisi Maj + 5 comme clé de synchronisation de gradation), donc ensuite, lorsque vous souhaitez exécuter la synchronisation de gradation manuellement, appuyez simplement sur cette touche de raccourci clavier.
Je suppose que cela fait référence à Outils> Android> "Projet de synchronisation avec des fichiers Gradle" dans le menu principal d'Android Studio.
gradle --recompile-scripts
semble faire une synchronisation sans rien construire. vous pouvez activer la construction automatique en
gradle --recompile-scripts --continuous
Veuillez consulter la documentation pour plus d'informations:
https://docs.gradle.org/current/userguide/gradle_command_line.html
Raccourci (Ubuntu, Windows):
Ctrl + F5
Synchronisera le projet avec les fichiers Gradle.
Je pense que ./gradlew tasks
c'est la même chose avec Android studio sync
. Pourquoi? Je vais l'expliquer.
Je rencontre un problème lorsque je teste le rapport de couverture jacoco. Lorsque je lance ./gradlew clean :Test:testDebugUnitTest
directement en ligne de commande, une erreur apparaît.
Error opening zip file or JAR manifest missing : build/tmp/expandedArchives/org.jacoco.agent-0.8.2.jar_5bdiis3s7lm1rcnv0gawjjfxc/jacocoagent.jar
Cependant, si je clique d'abord sur Android Studio Sync, cela fonctionne correctement. Parce qu'ils build/../jacocoagent.jar
apparaissent naturellement. Je ne sais pas pourquoi, peut-être qu'il y a un bug dans le plugin jacoco. L'unité que je trouve en cours d'exécution .gradlew tasks
fait également apparaître le pot. Je peux donc obtenir le même résultat dans le script gralde.
En outre, gradle --recompile-scripts
ne fonctionne pas pour le problème.
J'ai un problème, peut-être que la preuve que gradlew clean n'est pas égale à ADT build clean. Et maintenant, j'ai du mal à le réparer.
Voici ce que j'ai obtenu: j'ai défini un configProductID = 11111 à partir de mon gradle.properties, à partir de mon build.gradle, j'ajoute
resValue "string", "ProductID", configProductID
Si je fais une compilation propre à partir d'ADT, la ressource R.string.ProductID peut être générée. Ensuite, je peux faire la commande ci-dessous avec succès.
gradlew assembleDebug
Mais, comme j'essaie de configurer le serveur de build, je ne veux pas d'aide d'ADT IDE, donc je dois éviter d'utiliser ADT build clean. Voici mon problème. Maintenant, je change le nom de ma ressource de "ProductID" à "myProductID", je fais:
gradlew clean
Je reçois une erreur
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
Si j'essaye avec:
.\gradlew.bat --recompile-scripts
Je reçois juste une erreur de
Unknown command-line option '--recompile-scripts'.
Tout le monde souhaite utiliser la ligne de commande pour synchroniser des projets avec des fichiers Gradle, veuillez noter:
Depuis Gradle 5.0,
L'option de ligne de commande --recompile-scripts a été supprimée.
https://docs.gradle.org/current/userguide/command_line_interface.html https://github.com/gradle/gradle/issues/1425