In regelmäßigen Abständen möchte ich jedes Paket auf die neueste Version aktualisieren. Typischerweise ist dies das erste, was ich für einen neuen Sprint mache, nachdem ich ein Release erstellt habe.
Es ist ein echter Schmerz, dies manuell für jedes Paket zu tun. Idealerweise hätte ich gerne einen Befehl, um die build.gradle-Datei für mich zu aktualisieren, aber zumindest einen Befehl, der ausgibt, welches Paket aktualisiert werden muss und wie die neueste Versionsnummer lautet.
In Ruby Land würde ich Bundler Update ausführen.
Ich habe ein Python-Tool geschrieben, um die Version der Abhängigkeit zu aktualisieren, Sie können es versuchen. github.com/Jintin/andle
– Jintin
4. Januar 2016 um 14:04 Uhr
Mögliches Duplikat von So überprüfen Sie, ob die Gradle-Abhängigkeit eine neue Version hat
– Suhaib
13. Juli 2017 um 5:14 Uhr
@Suhaib hat recht, stackoverflow.com/a/28683488/2763883
– patrickfdsouza
8. September 2017 um 6:12 Uhr
Sie können diese Website verwenden und nach der neuesten Version jeder Abhängigkeit suchen: gradleplease.appspot.com
– Jay Patel
19. Januar 2018 um 11:32 Uhr
Das ist alles, was ich mir einfallen lassen konnte. Ich werde gerne eine andere Antwort akzeptieren, wenn es eine weniger manuelle Methode dafür gibt.
In Android Studio ersetze ich jede Abhängigkeitsversion durch ein Plusbeispiel: compile 'namespace:package1:+'
Synchronisieren oder erstellen Sie das Projekt, wodurch alle Abhängigkeiten auf ihre neueste Version aufgelöst werden.
Platzieren Sie in Android Studio den Cursor auf jeder Abhängigkeitszeile in build.gradle und drücken Sie Alt+Eingabe Ein Menü erscheint und Sie können auswählen Durch spezifische Version ersetzen
@Ben Manes: Dies sollte als Antwort akzeptiert werden. Tolles Plugin, gute Arbeit!
– Lukas Novak
29. Juli 2015 um 10:05 Uhr
Diese Antwort ist der beste Weg, um nach Updates zu suchen! Denken Sie daran, das Projekt in Schritt 2 zu erstellen, sonst funktioniert es nicht.
– Ray Li
22. Juli 2017 um 14:45 Uhr
In meinem Fall lädt die Synchronisierung nicht unbedingt die neueste Version herunter. Es scheint, dass für den Cache eine Zeitüberschreitung festgelegt ist, bis die Serverversion erneut überprüft wird
– Marian Klühspies
27. September 2017 um 17:00 Uhr
Ich würde sagen, das ist eine ziemlich riskante Methode. Sie kontrollieren nicht mehr, welche Version Sie lokal installiert haben, was Ihre Teamkollegen verwenden und was zB auf dem Server sein wird, weil kurz vor der Veröffentlichung ein Bibliotheks-Update kommt. Ich weiß, dass dies eine ähnliche Lösung wie ^ in JavaScript-Frameworks ist, aber dort haben wir eine Paketsperrdatei, die steuert, welche Version genau im gesamten Team / in den Umgebungen usw. verwendet wird.
– Filip Kubala
18. März um 15:13 Uhr
Hinzufügen build.gradle:
plugins {
id 'com.github.ben-manes.versions' version '0.17.0'
}
Dann können Sie tun gradle dependencyUpdates um einen Bericht über neue Versionen zu erhalten. Im Gegensatz zum gleichnamigen Maven-Plugin scheint es keine Möglichkeit zu geben, das automatisch zu aktualisieren build.gradle noch.
in Anbetracht Revision wird von den Bibliotheksautoren als Fehlerbehebung und Verbesserungsupdates verwendet
Hinweis: Ich habe das gerade getan und Sie könnten es tun
compile 'namespace:package:+'
Bearbeiten:
EIN Konzeptioneller Beweiß meines letzten Kommentars können Sie testen. Dies wurde in 5 Minuten gemacht, also erwarten Sie nicht, dass es perfekt oder flexibel ist.
Ja, ich verstehe, dass Sie einen Teil der Version durch ein + ersetzen können, um die neueste Version zur Build-Zeit aufzulösen, aber das bricht die Build-Reproduzierbarkeit. Ich möchte mich auf eine bestimmte Version verlassen, wie es bewährt ist, und gelegentlich jedes Paket aktualisieren.
– Jared Kells
16. Februar 2015 um 10:33 Uhr
Ein Update auf eine bestimmte Version ? Major, Minor oder Revision? compile 'namespace:package:1.0.+' würde auf die neueste Version aktualisieren als compile 'namespace:package:1.+' würde auf die neueste Nebenversion aktualisieren und compile 'namespace:package:+' zum neuesten großen.
– Gorcyn
16. Februar 2015 um 10:37 Uhr
Ich möchte kein Pluszeichen setzen, da dies bedeutet, dass ich jedes Mal, wenn ich den Build ausführe, eine andere Version der Bibliothek erhalten könnte. Während des größten Teils des Entwicklungsprozesses muss die Version gleich bleiben, damit sie gründlich getestet werden kann.
– Jared Kells
16. Februar 2015 um 10:41 Uhr
Normalerweise möchte ich nach einer Veröffentlichung jede Bibliothek auf ihre neueste Version aktualisieren. Dies wird alle paar Monate durchgeführt. Die Abhängigkeitstools, die ich in anderen Sprachen verwende, unterstützen dies. NuGet und Bundler sind Beispiele.
– Jared Kells
16. Februar 2015 um 10:43 Uhr
Ein Skript, das sich ändern würde namespace:package:+dann gradlew --refresh-dependencies dann namespace:package:x.y.z wobei x, y und z aus .idea/libraries/*.xml gelesen werden. Ein ziemlich interessantes Feature.
– Gorcyn
16. Februar 2015 um 10:53 Uhr
Paulo Linhares – Packapps
Darunter leide ich auch. Und der beste Weg, Abhängigkeiten zu überprüfen, auch manuell, besteht darin, die Projektstruktur zu durchsuchen und nach dem Namen der Abhängigkeit zu suchen und zu sehen, ob es eine neuere Version gibt.
Das Problem, dass diese Abfrage nur nach den im Maven-Repository vorhandenen Abhängigkeiten sucht. Zumindest gilt es bereits für Googles.
Hinweis: Wenn Sie die Abhängigkeit mit der neuen Version hinzufügen, wird dadurch eine Duplizität in Ihrem App Gradle hinzugefügt, also löschen Sie unbedingt die alte Abhängigkeitszeile.
###################
Eine weitere mögliche schnelle Lösung ist über die Befehlszeile:
./gradlew app:dependencies
Dies erzeugt eine Ausgabe wie die folgende. Beachten Sie, dass das Sternchen auf eine mögliche neue vorhandene Version hinweist.
13935900cookie-checkSo aktualisieren Sie Gradle-Abhängigkeiten auf ihre neueste Versionyes
Ich habe ein Python-Tool geschrieben, um die Version der Abhängigkeit zu aktualisieren, Sie können es versuchen. github.com/Jintin/andle
– Jintin
4. Januar 2016 um 14:04 Uhr
Mögliches Duplikat von So überprüfen Sie, ob die Gradle-Abhängigkeit eine neue Version hat
– Suhaib
13. Juli 2017 um 5:14 Uhr
@Suhaib hat recht, stackoverflow.com/a/28683488/2763883
– patrickfdsouza
8. September 2017 um 6:12 Uhr
Sie können diese Website verwenden und nach der neuesten Version jeder Abhängigkeit suchen: gradleplease.appspot.com
– Jay Patel
19. Januar 2018 um 11:32 Uhr