Ich debugge Gradle-Probleme in Android Studio und sehe Verweise auf "Gradle-Synchronisierung ausführen", bin mir aber nicht sicher, wie ich diesen Befehl ausführen soll.
Wie führe ich "Gradle Sync" von Android Studio oder Mac Terminal aus?
Ich debugge Gradle-Probleme in Android Studio und sehe Verweise auf "Gradle-Synchronisierung ausführen", bin mir aber nicht sicher, wie ich diesen Befehl ausführen soll.
Wie führe ich "Gradle Sync" von Android Studio oder Mac Terminal aus?
Antworten:
Android Studio sollte diese Schaltfläche in der Symbolleiste mit der Bezeichnung "Projekt mit Gradle-Dateien synchronisieren" haben.
EDIT: Ich weiß nicht, wann es geändert wurde, aber es sieht jetzt so aus:
BEARBEITEN: So sieht es in 3.3.1 aus
ODER gehen Sie in der Menüleiste zu Datei -> Projekt mit Gradle-Dateien synchronisieren.
WARNUNG : Der --recompile-scripts
Befehl ist seit gradle
Version 5.0 veraltet . gradle
Führen Sie aus , um Ihre Version zu überprüfen gradle -v
.
./gradlew --recompile-scripts
Es wird eine Synchronisierung durchgeführt, ohne etwas zu erstellen.
Alternativ mit der Befehlszeile in Ihrem Stammprojekt
./gradlew build
Es synchronisiert und erstellt Ihre App und dauert länger als nur eine Gradle-Synchronisierung
Verwenden Sie, um alle verfügbaren Gradle-Aufgaben anzuzeigen ./gradlew tasks
In Android Studio 3.3 ist es hier:
Laut der Antwort https://stackoverflow.com/a/49576954/2914140 in Android Studio 3.1 ist es hier:
Dieser Befehl wird nach verschoben File > Sync Project with Gradle Files
.
Liebhaber von Tastaturkürzeln können eine Verknüpfung zum manuellen Ausführen der Gradle-Synchronisierung hinzufügen, indem Sie zu Datei -> Einstellungen -> Keymap -> Plugins -> Android-Unterstützung -> Projekt mit Gradle-Dateien synchronisieren (Klicken Sie mit der rechten Maustaste darauf, um eine Tastenkombination hinzuzufügen) -> Übernehmen - > OK und Sie sind fertig. Wählen Sie eine geeignete Taste als Verknüpfung für die Gradle-Synchronisierung, die nicht mit einer anderen Tastenkombination in Konflikt steht (ich habe Umschalt + 5 als Gradle-Sync-Taste ausgewählt). Wenn Sie die Gradle-Synchronisierung manuell ausführen möchten, drücken Sie einfach diese Tastenkombination.
Ich gehe davon aus, dass es sich im Hauptmenü von Android Studio um Extras> Android> "Projekt mit Gradle-Dateien synchronisieren" handelt.
gradle --recompile-scripts
scheint eine Synchronisierung durchzuführen, ohne etwas zu erstellen. Sie können das automatische Erstellen durch aktivieren
gradle --recompile-scripts --continuous
Weitere Informationen finden Sie in den Dokumenten:
https://docs.gradle.org/current/userguide/gradle_command_line.html
Verknüpfung (Ubuntu, Windows):
Ctrl + F5
Synchronisiert das Projekt mit Gradle-Dateien.
Ich denke ./gradlew tasks
ist das gleiche mit Android studio sync
. Warum? Ich werde es erklären.
Ich stoße auf ein Problem, wenn ich den Bericht über die Jacoco-Berichterstattung teste. Wenn ich ./gradlew clean :Test:testDebugUnitTest
direkt in der Befehlszeile ausgeführt werde, wird ein Fehler angezeigt.
Error opening zip file or JAR manifest missing : build/tmp/expandedArchives/org.jacoco.agent-0.8.2.jar_5bdiis3s7lm1rcnv0gawjjfxc/jacocoagent.jar
Wenn ich jedoch zuerst auf Android Studio Sync klicke, wird es in Ordnung ausgeführt. Weil die build/../jacocoagent.jar
natürlich erscheinen. Ich weiß nicht warum, vielleicht gibt es einen Fehler im Jacoco Plugin. Einheit, die ich beim Laufen finde, .gradlew tasks
lässt das Glas ebenfalls erscheinen. So kann ich das gleiche Ergebnis in Gralde-Skript erhalten.
Außerdem gradle --recompile-scripts
funktioniert das Problem nicht.
Ich habe ein Problem, das möglicherweise beweist, dass gradlew clean nicht gleich ADT build clean ist. Und jetzt kämpfe ich darum, es zu reparieren.
Folgendes habe ich erhalten: Ich habe eine configProductID = 11111 aus meinen gradle.properties und aus meiner build.gradle festgelegt, füge ich hinzu
resValue "string", "ProductID", configProductID
Wenn ich einen Build Clean von ADT aus durchführe, kann die Ressource R.string.ProductID generiert werden. Dann kann ich den folgenden Befehl erfolgreich ausführen.
gradlew assembleDebug
Da ich jedoch versuche, einen Build-Server einzurichten, möchte ich keine Hilfe von ADT IDE. Daher muss ich vermeiden, ADT Build Clean zu verwenden. Hier kommt mein Problem. Jetzt ändere ich meinen Ressourcennamen von "ProductID" in "myProductID".
gradlew clean
Ich bekomme einen Fehler
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
Wenn ich es versuche mit:
.\gradlew.bat --recompile-scripts
Ich bekomme nur Fehler von
Unknown command-line option '--recompile-scripts'.
Wenn Sie die Befehlszeile verwenden möchten, um Projekte mit Gradle-Dateien zu synchronisieren, beachten Sie bitte Folgendes:
Seit Gradle 5.0,
Die Befehlszeilenoption --recompile-scripts wurde entfernt.
https://docs.gradle.org/current/userguide/command_line_interface.html https://github.com/gradle/gradle/issues/1425