web-dev-qa-db-fra.com

Comment vérifier si la dépendance de gradle a une nouvelle version

Dans Android Studio, lorsque j'utilise + dans le numéro de version (comme com.Android.support:recyclerview-v7:21.+), un avertissement «Evitez d'utiliser + dans les numéros de version» Lorsque j'utilise un numéro de version spécifique, je ne peux pas toujours utiliser la dernière version. J'ai beaucoup de dépendances dans mon projet. Comment vérifier si une dépendance a une version plus récente? Existe-t-il un plugin Android Studio -ou quelque chose comme ça- pour me prévenir quand il y a une nouvelle version d'une dépendance?

Edit: Android studio met en évidence les bibliothèques de support Android obsolètes et les services de Google Play. Mais ce n'est pas disponible pour d'autres bibliothèques personnalisées.

enter image description here

166
osrl

Ceci est maintenant intégré à Android Studio sous forme de vérification de la charpie. Vous pouvez l'activer ici:

Paramètres> Editeur> Inspections> "Versions de bibliothèque plus récentes disponibles"

La description de cette inspection:

Versions de bibliothèque plus récentes disponibles 

Ce détecteur vérifie auprès d'un référentiel central s'il existe de nouvelles versions disponibles pour les dépendances utilisées par ce projet. Cette opération est similaire à la vérification GradleDependency, qui vérifie la disponibilité de versions plus récentes dans les outils et bibliothèques du SDK Android, mais elle fonctionne avec toutes les dépendances MavenCentral et se connecte à la bibliothèque à chaque fois, ce qui la rend plus flexible mais également beaucoup Ralentissez.

En raison du ralentissement que cela peut entraîner, je vous recommande de l'exécuter manuellement de manière périodique, plutôt que de le laisser toujours activé. Vous pouvez le faire en:

Analyser> "Exécuter l'inspection par nom"

Recherchez ensuite "Nouvelles versions de bibliothèque disponibles" et exécutez-le sur votre module.

Edit : Ce qui précède ne devrait fonctionner qu’à partir d’Android Studio 2.3. Si vous utilisez une ancienne version (vous devez mettre à jour), les éléments suivants peuvent vous aider:

Notez qu'il apparaît que l'inspection doit être activée pour pouvoir être exécutée manuellement. Ainsi, à partir d'Android Studio 2.0 Bêta 2, vous devez rechercher l'inspection dans les paramètres, l'activer, puis l'exécuter par son nom, puis la désactiver à nouveau ( retrouver des performances antérieures).

121
Adam S

MISE À JOUR (23/05/18):

La version plus récente d'Android Studio n'affiche pas les mises à jour de version dans la boîte de dialogue Structure de projet. Au lieu de cela, la réponse d'Adam est la bonne pour Android Studio 3+

Analyser> "Exécuter l'inspection par nom"

Puis recherchez "Newer Library Versions Available"

VOIE PRÉCÉDENTE:

Depuis Android Studio 2.2, une nouvelle boîte de dialogue Project Structure affiche la liste des dépendances que votre application utilise avec les mises à jour disponibles à partir des référentiels locaux ET distants. 

  • Activez-le en allant à Android Studio > Settings > Build, Execution, Deployment > Gradle > Experimental et vérifiez le Use new Project Structure dialog (Merci @jessehensold)
  • Puis ouvrez-le en allant à File > Project Structure > Messages

 enter image description here

Pour les anciennes versions d'Android Studio, voir les réponses ci-dessous.

252
Quanturium

En plus de la fonctionnalité intégrée d'Android Studio, il existe un plugin Nice gradle appelé Gradle Versions Plugin qui fait exactement ce que vous voulez, avec l'avantage de ne PAS être lié à un IDE spécifique.

Gradle Versions Plugin peut créer des rapports sous forme de texte brut lisible par l'homme, mais également les transférer en JSON ou XML pour un traitement automatisé.

Une fois ajoutée à votre fichier de classement, l'utilisation standard ressemblerait davantage à:

> ./gradlew dependencyUpdates

Cela produirait un rapport de dépendance du projet qui ressemble à ceci:

------------------------------------------------------------
: Project Dependency Updates (report to plain text file)
------------------------------------------------------------

The following dependencies are using the latest milestone version:
 - com.github.maksim88:PasswordEditText:v0.9
 - com.Android.databinding:adapters:1.3.1
 - com.joanzapata.iconify:Android-iconify-entypo:2.2.2
 - com.joanzapata.iconify:Android-iconify-fontawesome:2.2.2
 - com.webnetmobile.tools:webnet-log:1.0.3
 - com.nulab-inc:zxcvbn:1.2.2

The following dependencies exceed the version found at the milestone revision level:
 - com.hannesdorfmann.fragmentargs:annotation [4.0.0-SNAPSHOT <- 3.0.2]
 - com.hannesdorfmann.fragmentargs:bundler-parceler [4.0.0-SNAPSHOT <- 3.0.2]
 - com.github.bumptech.glide:glide [3.7.0 <- 3.6.1]
 - com.hannesdorfmann.fragmentargs:processor [4.0.0-SNAPSHOT <- 3.0.2]

The following dependencies have later milestone versions:
 - com.github.PhilJay:MPAndroidChart [v2.2.5 -> v3.0.1]
 - com.Android.support:appcompat-v7 [25.1.0 -> 25.1.1]
 - com.jakewharton:butterknife [8.4.0 -> 8.5.1]

Generated report file build/dependencyUpdates\report.txt

Voir docs pour des exemples d'utilisation détaillés.


REMARQUE: les versions supérieures à 0.17.0 produisent davantage de sorties au format texte de plan, incl. URL du projet rendant ainsi la sortie entière gonflée. Si vous, comme moi, trouvez cela inutile, restez à la version 0.17.0.

26
Marcin Orlowski

PÉRIMÉ - VOIR LA RÉPONSE ACCEPTÉE POUR LA VOIE MODERNE

L'outil que je présente ci-dessous ne fonctionne pas sur les nouvelles versions d'Android Studio/Gradle et son auteur ne le maintient plus ( à partir du 30/10/2016 ). Par conséquent, la solution présentée dans la réponse acceptée doit être utilisée sauf si vous utilisez l'ancienne version d'Android Studio.


Depuis janvier 2016, il existe un plugin pour Android Studio qui fait quelque chose de similaire, appelé Dependencies Version Checker , et dont les sources se trouvent sur GitHub .

Il peut être ajouté via l'interface intégrée (Paramètres> Plug-ins> Parcourir les référentiels ...):

What it looks like inside the native interface

Après l'installation et le redémarrage, l'onglet suivant apparaît dans l'interface utilisateur:

New UI tab which appears after restart.

Le build.gradle correspondant doit ensuite être collé dans le côté gauche du panneau VersionChecker, et le Version Check bouton enfoncé. Le résultat est un tableau qui apparaît à droite et qui inclut les dernières versions des bibliothèques utilisées dans le script collé (comme illustré dans l'image ci-dessus).

13
Dev-iL

Voir Fichier> Structure du projet, puis cliquez sur "Suggestions". Je sais que cette solution a été suggérée par Hemant Sharma et Jeremías Gersicich, mais Android Studio l’a modifiée en version 3.4.1.

enter image description here

3
CoolMind

Pour les dépendances des bibliothèques de support (com.Android.support), il existe une meilleure option - andle

Il peut également interroger jcenter et maven center.

Trois étapes simples pour mettre à jour tous les projets en même temps.

1. installer:

    $ Sudo pip install andle

2. set sdk:

    $ andle setsdk -p <sdk_path>

3. mise à jour de la dépendance:

    $ andle update -p <project_path> [--dryrun] [--remote] [--gradle]

--dryrun: imprimer uniquement le résultat dans la console

--remote: vérifier la version dans jcenter et mavenCentral

--gradle: contrôle de la version

Voir https://github.com/Jintin/andle pour plus d'informations

1
Jintin

Pour être mis à jour ou recommandé pour votre dépendance de projet, vous devez utiliser le même projet Android. 

FILE -> Project Structure -> MODULES(app) -> Dependencies

Lorsque vous atteignez l’onglet Dépendances, cliquez sur le bouton + qui est placé dans le coin supérieur droit de la fenêtre . Lorsque vous cliquez sur + Sélectionnez Library Dependency, une nouvelle fenêtre pour Choose Library Dependency apparaîtra. Recherchez votre dépendance dans le champ de recherche. les dépendances Android répertoriées sont mises à jour.

0
Hemant Sharma

J'avais affaire à ce même problème et j'ai essayé la réponse https://stackoverflow.com/a/35371234/6412430

Ce qui a vraiment fonctionné pour moi sur Android Studio 3.4.1 était:

File -> Project Structure -> Dependencies

Une fois que vous avez atteint ce point, toutes les dépendances incluses dans votre projet ou module seront répertoriées. Ceux qui sont obsolètes seront soulignés et lorsque vous en sélectionnerez une, les détails apparaîtront, vous donnant les options pour mettre à jour la variable (si elle est séparée de la déclaration) ou la dépendance.

Un peu tard, mais c’est ce qui a fonctionné pour moi.

0