Unterschied zwischen sauberem Projekt und neu erstelltem Projekt in Android Studio

74

Was ist der Unterschied zwischen Clean Projectund Rebuild Project(in Android Studio)?

  • Ich hatte ein Problem mit dem R fileAbout res ids, also habe ich die Dateierweiterung von gifauf geändert pngund dann [mein Build ist fehlgeschlagen.]
  • Ich fand die Lösung zu Rebuild Project. Dies veranlasst meine obige Frage.
Fukkong
quelle

Antworten:

80

Bei einer Bereinigung werden nur alle Build-Artefakte entfernt. Bei einer Neuerstellung wird eine Bereinigung durchgeführt, gefolgt von einem Build Ihres Projekts.

EDIT # 2 Dies ist 100% wahr. Wendenan diese für eine gründliche Demonstration ihrer Richtigkeit.

Larry Schiefer
quelle
25
Ich denke das ist nicht wahr. In beiden Fällen sehe ich die folgenden Einträge im Protokoll. Sieht für mich so aus, als wären sie identisch. 22:54:38 Ausführen von Aufgaben: [sauber ,: App: generateDebugSources ,: App: generateDebugAndroidTestSources ,: App: compileDebugSources ,: App: compileDebugAndroidTestSources]
Vogella
7
Ich kann auch keinen Unterschied zwischen ihnen erkennen. +1 an @vogella für das Fangen vor mir.
SMBiggs
2
Dies muss dann eine kürzlich erfolgte Änderung der Gradle-Regeln für Android-Projekte sein. Zuvor hat es getan, was ich beschrieben habe.
Larry Schiefer
2
Ich habe gerade überprüft, dass dies eine kürzlich vorgenommene Änderung an Android Studio und dem Gradle-Setup ist. Beim "Rebuild" wird das APK nicht erstellt. Sie müssen zunächst versuchen, es als Release auszuführen oder zu exportieren. Und das "Clean" in Android Studio erledigt die gleichen Aufgaben wie "Rebuild": Clean: Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugAndroidTestSources] Rebuild:Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugAndroidTestSources]
Larry Schiefer
38
Jetzt dreifach verifiziert. Zwei Menüoptionen, die genau dasselbe tun! Vielen Dank an Google, dass Sie Android kompliziert halten (Arbeitsplatzsicherheit)!
SMBiggs
9

Was ich erlebt habe,

Wenn Sie bereinigen, werden die Binärdateien in den Build- Ordnern entfernt und die erneute Erstellung auf den nächsten Lauf verschoben.

Wenn Sie eine Neuerstellung durchführen, werden die Dateien im Erstellungsordner bereinigt und neu erstellt , die beim nächsten Durchlauf erneut erstellt werden. Die APK wird nicht neu erstellt !! Welches ist wirklich komisch.

damit:

Clean entfernt den Inhalt des Build-Ordners.

Beim erneuten Erstellen wird der Inhalt des Erstellungsordners entfernt. Und baut einige Binärdateien; ohne APK!

Übrigens verwende ich Android Studio 2.0 Preview 7.

MBH
quelle
Ich bin einfach sauber gelaufen, es hat alle Module gereinigt und dann alle gebaut. Es dauerte einige Minuten, obwohl erwartet wurde, nur die Bin-Ordner zu entfernen, was maximal 10 Sekunden dauern sollte. :(
Riper
@riper Es gibt 2 Build-Ordner (Binärordner), einen innerhalb des App-Moduls und einen für die gesamte App. Beide werden nach dem Bereinigen bereinigt und neu generiert. Es dauert also einige Zeit, bis der Gradle online arbeitet und alle Ihre Ordner überprüft Bibliotheken etc ..
MBH