347 votes

Des fonctionnalités obsolètes de Gradle ont été utilisées dans cette version, ce qui la rend incompatible avec Gradle 5.0.

J'ai un ÉCHEC de Gradle :

..."Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0."

Description du cas :

  • Les librairies suivantes sont attachées au codebase du projet :

APP/build.gradle

    //(Required) Writing and executing Unit Tests on the JUnit Platform 
testImplementation "org.junit.jupiter:junit-jupiter-api:5.2.0"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.2.0"
    // (Optional) If you need "Parameterized Tests"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.2.0"
    // (Optional) If you also have JUnit 4-based tests
testImplementation "junit:junit:4.12"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.2.0"

testImplementation "io.mockk:mockk:1.8.5"
  • Mise à jour de la gradle-wrapper.properties

    distributionUrl=https....gradle- 4.4-all .zip pour 4.7-all

  • après tout cela, gradle a été construit avec succès

  • créé les cals de test

    @TestInstance(TestInstance.Lifecycle.PER_CLASS)
      class TestClass {
    
      @Test
      internal fun testName() {
        Assert.assertEquals(2, 1 + 1)
      }
    }
  • J'ai exécuté le test et j'ai obtenu le message FAILURE. enter image description here

  • a lancé la construction de Gradle avec un argument de ligne de commande ./gradlew --warning-mode=all pour voir quelles sont exactement les fonctionnalités dépréciées. enter image description here

En conséquence, je n'ai pas pu construire l'application et j'ai obtenu ce message FAILURE :.

2 votes

Ce n'est pas un échec. L'application compile toujours, non ?

1 votes

L'application se compile avec le même message d'échec. :-(

3 votes

Ce n'est pas un échec. Ce serait un échec si l'application ne compilait pas. C'est au mieux un avertissement .

189voto

hotkey Points 119

Exécuter la construction Gradle avec un argument de ligne de commande --warning-mode=all pour voir quelles sont exactement les fonctionnalités dépréciées.

Il vous donnera une description détaillée des problèmes trouvés avec des liens vers la documentation de Gradle pour des instructions sur la façon de corriger votre construction.

Ajout de --stacktrace à cela, vous serez également en mesure d'identifier l'origine de l'avertissement, s'il est déclenché par un code obsolète dans l'un des plugins et non dans votre script de construction.

0 votes

J'ai mis à jour la description du problème, en utilisant cette suggestion.

41 votes

En cours d'exécution react-native run-android --warning-mode all Je reçois error: unknown option --warning-mode'

52 votes

Essayez de courir gradle build --warning-mode=all

26voto

chichilatte Points 103

Je recevais cette erreur. Il s'est avéré qu'elle n'apparaissait que lorsque je nettoyais complètement les caches de l'IA (processus assez élaboré) et que je créais ensuite un build de version.

Si j'ai nettoyé les caches, créé une version de débogage puis une version de publication, tout a fonctionné. Un peu inquiétant mais ça marche.

Note : Ma commande propre est...

rm -r android/build ; rm -r android/app/src/release/res ; rm -r android/app/build/intermediates ; watchman watch-del-all ; rm -rf $TMPDIR/react-* ; npm start -- --reset-cache

0 votes

Fonctionne bien.....

2 votes

Réponse correcte...

4 votes

C'est la bonne réponse après des heures de recherche et d'essais.

5voto

Hiren Points 1266

Mettez à jour vos dépendances tierces. par exemple J'ai mis à jour la dépendance de implementation 'com.github.ybq:Android-SpinKit:1.1.0' à implementation 'com.github.ybq:Android-SpinKit:1.2.0' . et dans mon cas, le problème a été résolu.

0 votes

Suivez la suggestion de la touche de raccourci pour une description détaillée exacte

0 votes

C'était l'erreur et j'ai mis à jour la version de gradle et essayé toutes les étapes possibles :(

3voto

Gautam Dev Points 349

Définir le chemin de distributionUrl dans les fichiers gradle-wrapper-properties comme :

distributionUrl=https://services.gradle.org/distributions/gradle-4.10.2-all.zip

0 votes

Mon gradle avait cette ligne .distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip Je l'ai changé en et ça a marché. distributionUrl= services.gradle.org/distributions/gradle-4.10.2-all.zip

2voto

J'ai finalement décidé de rétrograder de junit 5 à junit 4 et de reconstruire l'environnement de test.

0 votes

Comment avez-vous fait ?

0 votes

Pratik, gardez à l'esprit que pour l'instant, six mois plus tard, je suppose que les circonstances autour de ce problème ont changé. Je vous conseille d'enquêter à partir de zéro, si JUnit 5 est pratique à utiliser comme instrument de test.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X