Hinzufügen einer Stacktrace- oder Debug-Option beim Erstellen eines Android Studio-Projekts


141

Ich habe versucht, den Fehler beim Erstellen des Projekts in der Konsolenausgabe wie folgt zu untersuchen:

: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.

Ich vermute, es hat etwas mit Ressource nicht gefunden Fehler zu tun. Meine Frage ist, auf IDE-Ebene, wie kann ich eine Option hinzufügen --stacktraceoder eine --debugOption auswählen, damit ich mehr Informationen zum Debuggen erhalten kann?

Antworten:


206

Sie können die grafische Benutzeroberfläche verwenden, um diese Gradle-Befehlszeilenflags von hinzuzufügen

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

Für MacOS-Benutzer ist es hier

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

so (hinzufügen --stacktraceoder --debug)

Geben Sie hier die Bildbeschreibung ein

(Beachten Sie, dass der Screenshot vor 0.8.10 stammt. Die Option befindet sich nicht mehr im Compiler > GradleAbschnitt, sondern in einem separaten Abschnitt mit dem Namen. Compiler (Gradle-based Android Project))


2
Dies ist in 0.8.12 weg. Weiß jemand mehr?
nmr

4
Sie haben die Compiler-Option auf root gewählt, glaube ich, in Android Studio 0.8.10 überprüft. Jetzt Studio nennt es Compiler (Gradle-basiertes Android-Projekt). Einmal prüfen und aktualisieren.
Pyus13

2
Ich glaube, ich verstehe, was Sie sagen, aber ich spreche über etwas anderes. Im Abschnitt Gradle der "Projekteinstellungen" haben sie das Feld "Befehlszeilenoptionen" entfernt. Es gibt also keinen Platz, um Gradle Flaggen hinzuzufügen. (Das Feld "VM-Optionen" ist jedoch noch vorhanden.)
nmr

2
@nmr: Beziehen Sie sich nicht auf "Gradle". Überprüfen Sie stattdessen den "Compiler (Gradle-basierte Android-Projekte)". Dort finden Sie die "Befehlszeilenoptionen".
Behnam

6
In Android Studio 1.2.2 (unter Windows) File > Settings > Build, Execution, Deployment > Compilerkönnen Sie die Flags hinzufügen Command-line Options:.
chRyNaN

38

Auf der MacVersion von Android Studio Beta 1.2ist es unter

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


3
Diese Antwort ist auch ab Android Studio 2.0 korrekt.
Will Vanderhoef

1
In den neuesten Versionen von AS (2.2 und 2.3) müssen Sie, um die Compiler-Option anzuzeigen, kein geöffnetes Projekt mehr haben. Gehen Sie zu AS begin (wo das aktuelle Projekt sichtbar ist) und klicken Sie auf Konfigurieren -> Einstellungen-> Erstellen, Ausführen, Bereitstellen. Andernfalls ist der Compiler nicht sichtbar
Stoycho Andreev

24

In Android Studios 2.1.1 befinden sich die Befehlszeilenoptionen unter "Erstellen, Ausführen, Bereitstellen"> "Compiler".

Geben Sie hier die Bildbeschreibung ein


2
Sie können auch hinzufügen
Kirill Karmazin

13

Was ich zum Debuggen verwende, ist das Ausführen der Gradle-Task mit Stacktrace direkt im Terminal. Dann haben Sie keinen Einfluss auf Ihre normalen Kompilierungen.

In Ihrem Projektstammverzeichnis können Sie über das Terminal Folgendes verwenden:

./gradlew assembleMyBuild --stacktrace

7

Um eine Stapelverfolgung hinzuzufügen, klicken Sie auf den Gradle auf der rechten Seite des Android-Projektbildschirms.

  1. Klicken Sie auf das Einstellungssymbol. Dadurch wird die Einstellungsseite geöffnet.

  2. Klicken Sie dann auf Compiler

  3. Fügen Sie dann den Befehl --stacktraceoder --debugwie gezeigt hinzu.

  4. Führen Sie die Anwendung erneut aus, um den Gradle-Bericht abzurufen.


Was ist, wenn diese Optionen ignoriert werden? Sollen wir einen Cache leeren?
myoan

6

(bearbeitet im Dezember 2018: Android Studio 3.2.1 auch auf dem Mac)

Für Android Studio 3.1.3 auf einem Mac war es unter

Android Studio -> Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Compiler

Drücken Sie diese Taste, um die Stapelverfolgung anzuzeigen

Schaltfläche zum Anzeigen der Stapelverfolgung


Ich habe die in den folgenden Lösungen angegebenen Schritte ausgeführt, erhalte jedoch weiterhin die Eingabeaufforderung: "Versuch: Mit der Option --stacktrace ausführen, um die Stapelverfolgung abzurufen. Mit der Option --info oder --debug ausführen, um mehr Protokollausgabe zu erhalten. Ausführen mit --scan, um vollständige Einblicke zu erhalten. "
Nishita

@Nishita, haben Sie --stacktraceund / oder --infound / oder --debugund / oder --scanunter Befehlszeilenoptionen eingegeben ?
verheißungsvoll99

1
Ja, habe ich. Das Aktivieren in den Einstellungen hat nicht geholfen. Ich musste den Befehl manuell auf dem Terminal ausführen, um die Stapelverfolgung zu sehen.
Nishita

2

Für Android Studio 3.1.3 war es unter

Datei -> Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Compiler


1

Meine Lösung lautet:

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

0

Um Optionen wie --stacktracein einem Gradle-Befehl ausführen zu können, müssen Sie sie an den Anfang setzen, z.

./gradlew --stacktrace assembleMyBuild


0

Wenn Sie Fastlane verwenden, können zusätzliche Flags mit übergeben werden

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

Weitere Informationen hier



-1

So erhöhen Sie den maximalen Heap: Klicken Sie hier, um Ihr Android Studio zu öffnen. Sehen Sie sich die folgenden Bilder an. Schritt für Schritt. ANDROID STUDIO v2.1.2

Klicken Sie oben in Android Studio, um zu Einstellungen unter Konfigurieren oder GEHE ZU DATEI-EINSTELLUNGEN zu navigieren.

Geben Sie hier die Bildbeschreibung ein

Überprüfen Sie auch die Android-Compiler über den Link, um zu bestätigen, ob sie sich ebenfalls ändern, wenn sie nicht auf dieselbe Größe erhöht werden, die Sie über den Compiler-Link ändern.

Hinweis: Sie können die Größe basierend auf Ihrer Speicherkapazität erhöhen und sich daran erinnern, dass diese Einstellung auf Android Studio v2.1.2 basiert


5
Ist das die richtige Frage zu dieser Antwort? es scheint, als ob es woanders hingehört.
Acapulco
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.