Android Déboguer vos erreurs Gradle


Exemple

Ce qui suit est un extrait de Gradle - Quelle est une valeur de sortie non nulle et comment puis-je la corriger? , voir pour la discussion complète.

Disons que vous développez une application et que vous obtenez une erreur de Gradle qui apparaît généralement comme telle.

:module:someTask FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':module:someTask'.
> some message here...  finished with non-zero exit value X
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: Y.ZZ secs

Vous recherchez ici votre problème sur StackOverflow, et les gens disent de nettoyer et de reconstruire votre projet ou d'activer MultiDex , et lorsque vous essayez cela, cela ne résout tout simplement pas le problème.

Il existe des moyens d'obtenir plus d'informations , mais la sortie de Gradle elle-même doit indiquer l'erreur réelle dans les quelques lignes au-dessus du message entre: module:someTask FAILED et le dernier :module:someOtherTask qui a réussi. Par conséquent, si vous posez une question sur votre erreur, veuillez modifier vos questions pour inclure plus de contexte à l'erreur.

Donc, vous obtenez une "valeur de sortie non nulle". Eh bien, ce nombre est un bon indicateur de ce que vous devriez essayer de corriger. En voici quelques-unes les plus fréquentes.

  • 1 est juste un code d'erreur général et l'erreur est probable dans la sortie Gradle
  • 2 semble être lié à des dépendances qui se chevauchent ou à une mauvaise configuration du projet.
  • 3 semble être d'inclure trop de dépendances, ou un problème de mémoire.

Les solutions générales pour ce qui précède (après avoir tenté un nettoyage et une reconstruction du projet) sont les suivantes:

  • 1 - Résoudre l'erreur mentionnée. En général, il s'agit d'une erreur de compilation, ce qui signifie qu'une partie de code de votre projet n'est pas valide. Cela inclut à la fois XML et Java pour un projet Android.
  • 2 & 3 - Plusieurs réponses vous indiquent d'activer le multidex . Bien qu'il puisse résoudre le problème, il s'agit probablement d'une solution de contournement. Si vous ne comprenez pas pourquoi vous l'utilisez (voir le lien), vous n'en avez probablement pas besoin. Les solutions générales impliquent de réduire la surutilisation des dépendances de bibliothèque (comme tous les services Google Play, par exemple, lorsque vous n’utilisez qu’une seule bibliothèque, par exemple Maps ou Sign-In).