web-dev-qa-db-fra.com

Android Studio: "Utiliser le wrapper de gradle par défaut" vs. "Utiliser le wrapper de gradle personnalisable"

Quelle est exactement la différence entre Android Options Gradle de Studio:

Android Studio->Preferences->Gradle

Use default gradle wrapper (recommended) et Use customizable gradle wrapper?

Contexte:

Je travaille sur un projet Android dans Android Studio et j'utilise un wrapper Gradle.

Cependant, lorsque j'utilise le paramètre Android Studio "Utiliser un wrapper gradlew personnalisable" chaque fois que les membres de mon équipe synchronisent le projet Android Studio en utilisant la commande gui:

enter image description here

ils trouvent que la date de gradle/wrapper/gradle-wrapper.properties est mise à jour (et entraîne des différences supplémentaires sur le dépôt git).

Le passage à "Utiliser le wrapper de gradle par défaut" semble résoudre ce problème.

50
ZenBalance

Voir l'aide IntelliJ IDEA help ici :

  • L'utilisation du wrapper de gradle par défaut signifie que Gradle contrôle le numéro de version
  • L'utilisation du wrapper gradle personnalisable signifie que IDEA contrôle le numéro de version du wrapper gradle.

Le numéro de version est stocké dans gradle/wrapper/gradle-wrapper.properties. Ainsi, lorsque vous choisissez "à l'aide du wrapper gradle personnalisable" chaque fois que vous ouvrez le projet avec IDEA, il modifie le fichier de propriétés pour ajuster la version du wrapper que vous avez spécifiée dans le projet IDEA.

Par souci de builds reproductibles (même sur votre serveur de build continu qui n'exécute pas IDEA), laissez Gradle contrôler le numéro de version et utiliser le wrapper de gradle par défaut.

Vous pouvez définir le numéro de version utilisé par Gradle dans votre build.gradle avec

// needs at least Gradle V1.7
wrapper {
    gradleVersion = '2.2.1'
}

ou

// works with every Gradle version
task wrapper(type: Wrapper) {
    gradleVersion = '2.2.1'
}

Remarque: n'oubliez pas que cette configuration n'est utilisée que pour la génération du wrapper. Pour l'activer, vous devez exécuter la génération avec gradlew wrapper. Cette tâche met à jour le gradle-wrapper.properties qui est utilisé par la suite pour toutes les exécutions de wrapper.

45
ChrLipp