Comment ajouter Stacktrace ou une option de débogage lors de la création d'un projet Android Studio


142

J'essayais d'enquêter sur l'erreur de construction du projet dans la sortie de la console comme suit:

:myapp:processDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
...
...

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Je soupçonne que cela a quelque chose à voir avec une erreur de ressource non trouvée. Ma question est, au niveau de l'IDE, comment puis-je ajouter --stacktraceou --debugoption pour qu'il puisse produire plus d'informations à déboguer?

Réponses:


207

Vous pouvez utiliser l'interface graphique pour ajouter ces indicateurs de ligne de commande gradle à partir de

File > Settings > Compiler (Gradle-based Android Project)

Pour les utilisateurs de MacOS, c'est ici

Android Studio > Preferences > Build, Execution, Deployment > Compiler

comme ça (ajouter --stacktraceou --debug)

entrez la description de l'image ici

(Notez que la capture d'écran est antérieure à la 0.8.10, l'option n'est plus dans la Compiler > Gradlesection, elle est maintenant dans une section distincte nommée Compiler (Gradle-based Android Project))


2
Cela a disparu dans la version 0.8.12. Quelqu'un en sait plus?
nmr

4
Ils ont pris l'option Compiler sur root je pense, vérifié dans Android Studio 0.8.10. Maintenant, le studio l'appelle Compiler (projet Android basé sur Gradle). Vérifiez une fois et mettez à jour.
pyus13

2
Je pense que je comprends ce que vous dites, mais je parle d'autre chose. Dans la section Gradle des "Paramètres du projet", ils ont supprimé le champ "Options de ligne de commande". Il n'y a donc pas de place pour ajouter des indicateurs à Gradle. (Le champ "VM Options" est toujours là, cependant.)
nmr

2
@nmr: ne faites pas référence à «Gradle». Au lieu de cela, vérifiez le "Compilateur (projets Android basés sur Gradle)". Vous y trouverez les «Options de ligne de commande».
Behnam

6
Dans Android Studio 1.2.2 (sous Windows), c'est File > Settings > Build, Execution, Deployment > Compilerlà que vous pouvez ajouter les indicateurs Command-line Options:.
chRyNaN

38

Sur la Macversion de Android Studio Beta 1.2, c'est sous

Android Studio->preferences->Build, Execution, Deployment->Compiler


3
Cette réponse est également correcte à partir d'Android Studio 2.0.
Will Vanderhoef

1
Dans les dernières versions d'AS (2.2 et 2.3) pour voir l'option du compilateur, vous devez être hors du projet ouvert, allez dans AS begin (où le projet récent est visible) et cliquez sur Configurer -> Préférences-> Build, Execution, Deployment. Sinon, le compilateur n'est pas visible
Stoycho Andreev

24

Dans Android Studios 2.1.1, les options de ligne de commande se trouvent sous "Build, Execution, Deployment"> "Compiler"

entrez la description de l'image ici


2
aussi vous pouvez ajouter --scan
Kirill Karmazin

13

Ce que j'utilise à des fins de débogage, c'est d'exécuter la tâche gradle avec stacktrace directement dans le terminal. Ensuite, vous n'affectez pas vos compilations normales.

Depuis le répertoire racine de votre projet, via le terminal, vous pouvez utiliser:

./gradlew assembleMyBuild --stacktrace

7

Pour ajouter un stacktrace, cliquez sur le Gradle sur le côté droit de l'écran du projet Android;

  1. Cliquez sur l'icône des paramètres; cela ouvrira la page des paramètres,

  2. Cliquez ensuite sur compilateur

  3. Ajoutez ensuite la commande --stacktraceou --debugcomme indiqué;

  4. Exécutez à nouveau l'application pour obtenir le rapport de classement.


Et si ces options sont ignorées? Devons-nous vider un peu de cache?
myoan

6

(modifié en décembre 2018: Android Studio 3.2.1 sur Mac également)

Pour Android Studio 3.1.3 sur un Mac, c'était sous

Android Studio -> Préférences -> Construction, exécution, déploiement -> Compilateur

puis, pour afficher la trace de la pile, appuyez sur ce bouton

bouton pour afficher la trace de la pile


J'ai suivi les étapes données dans les solutions ci-dessous, mais je reçois toujours l'invite - "Essayez: Exécuter avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de sortie de journal. Exécutez avec --scan pour obtenir des informations complètes. "
Nishita

@Nishita, avez-vous tapé --stacktraceet / ou --infoet / ou --debuget / ou --scansous les options de ligne de commande?
auspicious99

1
Oui je l'ai fait. L'activer dans les paramètres de préférences n'a pas aidé. J'ai dû exécuter manuellement la commande sur le terminal pour voir le stacktrace.
Nishita

2

Pour Android Studio 3.1.3, il était sous

Fichier -> Paramètres -> Construction, exécution, déploiement -> Compilateur


1

ma solution est la suivante:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

0

Pour pouvoir exécuter des options comme --stacktracedans une commande gradle, vous devez la mettre au début, comme:

./gradlew --stacktrace assembleMyBuild


0

Si vous utilisez fastlane, des indicateurs supplémentaires peuvent être passés avec

gradle(
   ...
   flags: "{your flags}"
)

Plus d'informations ici



-1

Pour augmenter le tas maximum: Cliquez pour ouvrir votre Android Studio, regardez les images ci-dessous. Pas à pas. ANDROID STUDIO v2.1.2

Cliquez pour accéder aux paramètres depuis Configurer ou ALLER AUX PARAMÈTRES DE FICHIER en haut d'Android Studio.

entrez la description de l'image ici

vérifiez également les compilateurs Android à partir du lien pour confirmer s'il change également, sinon augmente à la même taille que vous modifiez à partir du lien du compilateur.

Remarque: vous pouvez augmenter la taille en fonction de la capacité de votre mémoire et vous rappeler que ce paramètre est basé sur Android Studio v2.1.2


5
Est-ce la bonne question à cette réponse? il semble qu'il appartient ailleurs.
Acapulco
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.