6
votes

Mise à jour des dépendances des grades

L'un des avantages de l'utilisation de grades dans Android Studio est qu'il aide à la gestion de la dépendance. Donc, si j'ai utilisé une version particulière d'une bibliothèque dans mon fichier build.gradle , Ensuite, comment vais-je le forcer à mettre à jour la version de dépendance une fois que la version supérieure est disponible?

Certaines dépendances de mon build.Gradle sont spécifiées comme xxx


0 commentaires

3 Réponses :


10
votes

L'un des avantages de l'utilisation d'une grade dans le studio Android est qu'il aide à la gestion de la dépendance. P>

Pas la façon dont vous l'utilisez. P>

Donc, si j'ai utilisé une version particulière d'une bibliothèque dans mon fichier Build.Gradle, comment vais-je le forcer à mettre à jour la version de dépendance une fois que la version supérieure est disponible? p> BlockQuote>

Dans votre cas, vous téléchargeriez les nouveaux pots, mettriez-les dans Libs / CODE> et mettez à jour votre Build.Gradle Code> pour correspondre. P >

L'approche préférée est que vous puissiez supprimer ces pots et remplacer vos deux Compiler les fichiers code> avec ceux qui tirent les dépendances de Maven Central ou d'un autre référentiel d'artefact. Vous pouvez trouver les déclarations appropriées pour les bibliothèques open source populaires telles que celles via le gradle, veuillez site. P>

dans votre cas, vous utiliseriez: p>

repositories {
    mavenCentral()
}


3 commentaires

Réponse parfaite (comme toujours @commonsware). Mais récemment, ma gradle ne souligne pas les bibliothèques qui ont une nouvelle version dans le référentiel, et c'est une fonctionnalité puissante pour moi.


@Wendigo: Je ne suis pas conscient que les bibliothèques de grades jamais "souligne" plus récente que ce que vous demandez. Si vous utilisez des caractères génériques, cela les attrapera automatiquement; Si vous n'utilisez pas de caractères génériques, cela les ignore. Il y a un plugin pour Gradle qui vous donnera un rapport de mises à jour disponibles aux dépendances, bien que j'oublie où je l'ai vu.


J'ajouterai aussi cette réponse: Stackoverflow.com/a/35371234/2057809 Avoir la mise à jour des dépendances de la grade est cool, mais Il est encore plus utile lorsqu'il peut également détecter automatiquement les dépendances dont la dépendance doit être mise à jour.



3
votes

Comme vous compilez des fichiers de votre projet local, je ne pense pas que vous puissiez compiler automatiquement une nouvelle version de JAR individuelle si disponible. Ce que vous pouvez faire au lieu de compiler des fichiers individuels est le suivant:

Compile FileTree (dir: 'Libs', inclure: '* .jar') code> p>

Ceci compilera tous les bocaux Dans le répertoire de la libs, vous aurez toujours la dernière version. p>

Les deux bibliothèques que vous utilisez sont disponibles pour être compilées comme des dépendances de Mavencentral. P>

compile 'de.keyboardsurfer.android.widget:crouton:1.+'
compile 'com.squareup.picasso:picasso:2.+'


4 commentaires

Merci d'avoir répondu. @Commonsware a déjà donné une réponse parfaite.


Ce n'est pas quelque chose que je ne recommanderai pas: avoir une mise à jour automatique des dépendances signifie de perdre un moyen facile de contrôler quelle version est actuellement installée. Pour la mise à jour des corrections, cela peut être, mais pour la mise à jour mineure, c'est un peu dangereux.


@Aldo Si vous lisez la réponse, je ne recommande pas toujours d'utiliser les dernières dépendances, je ne dis que d'informer qu'il est possible si c'est quelque chose qui est requis. Cela répond à la question correctement et ne mérite pas d'être voté.


@ DOMJI84 Eh bien n'était pas vraiment évident :( Mais je suis d'accord avec vous, mon vote baissé était un peu dur, je suis désolé. J'ai édité votre réponse pour mettre un nouveau vote après :)



0
votes
  • Si vous le souhaitez, vous pouvez Remplacer une partie du numéro de version avec un fichier wildcard (par exemple, 2.3. +).
  • Ceci provoquera la mise à jour automatiquement des nouveaux niveaux de correctifs de la bibliothèque , dans ce cas.
  • Certains développeurs n'approuvent pas cette approche , comme s'il est pratique il réduit votre capacité à pouvoir reproduire une construction (par exemple, vous devez recompiler une branche plus ancienne de votre code, et maintenant vous ne savez pas quelle version de l'artefact vous utilisiez à l'adresse).

    J'ai trouvé gradle, s'il vous plaît pour être ma réponse ici.

    • Obtenez facilement la dernière déclaration de compilation de la bibliothèque Android.

0 commentaires