Cara Menambahkan Stacktrace atau Opsi debug ketika Membangun Proyek Android Studio

142

Saya mencoba untuk menyelidiki kesalahan build proyek di output konsol sebagai berikut:

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

Saya menduga itu ada hubungannya dengan sumber daya tidak ditemukan kesalahan. Pertanyaan saya adalah, pada level IDE bagaimana saya bisa menambahkan--stacktrace atau --debugopsi sehingga dapat menghasilkan lebih banyak informasi untuk saya debug?

Neoh
sumber

Jawaban:

207

Anda dapat menggunakan GUI untuk menambahkan flag baris perintah gradle ini

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

Untuk pengguna MacOS, ada di sini

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

seperti ini (tambah --stacktraceatau --debug)

masukkan deskripsi gambar di sini

(Perhatikan bahwa tangkapan layar dari sebelum 0.8.10, opsi tidak lagi di Compiler > Gradlebagian itu, sekarang di bagian terpisah bernama Compiler (Gradle-based Android Project))

pyus13
sumber
2
Ini hilang di 0.8.12. Adakah yang tahu lebih banyak?
nmr
4
Mereka mengambil opsi Compiler pada root saya pikir, diperiksa di Android Studio 0.8.10. Sekarang studio menyebutnya Compiler (Proyek Android berbasis Gradle). Periksa sekali dan perbarui.
pyus13
2
Saya pikir saya mengerti apa yang Anda katakan, tetapi saya berbicara tentang sesuatu yang lain. Di bagian Gradle dari "Pengaturan Proyek" mereka telah menghapus bidang "Opsi Baris Perintah". Jadi tidak ada tempat untuk menambahkan bendera ke Gradle. (Bidang "Opsi VM" masih ada di sana.)
nmr
2
@nmr: Jangan merujuk ke "Gradle." Sebagai gantinya, periksa "Compiler (Proyek Android berbasis Gradle)". Di sana Anda akan menemukan "Opsi baris perintah."
Behnam
6
Di Android Studio 1.2.2 (di Windows) ini adalah File > Settings > Build, Execution, Deployment > Compilertempat Anda dapat menambahkan flag Command-line Options:.
chRyNaN
38

Pada Macversi Android Studio Beta 1.2, itu di bawah

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

jpa57
sumber
3
Jawaban ini benar untuk Android Studio 2.0 juga.
Will Vanderhoef
1
Dalam versi terbaru AS (2.2 dan 2.3) untuk melihat opsi Kompiler Anda harus keluar dari proyek terbuka, pergi ke AS mulai (di mana proyek terbaru terlihat) dan klik Configure -> Preferences-> Build, Execution, Deployment. Kalau tidak, Compiler tidak terlihat
Stoycho Andreev
24

Di Android Studios 2.1.1, Opsi baris perintah berada di bawah "Build, Execution, Deployment"> "Compiler"

masukkan deskripsi gambar di sini

Angel Koh
sumber
2
Anda juga dapat menambahkan --scan
Kirill Karmazin
13

Apa yang saya gunakan untuk keperluan debugging menjalankan tugas gradle dengan stacktrace langsung di terminal. Maka Anda tidak memengaruhi kompilasi normal Anda.

Dari direktori root proyek Anda, melalui terminal Anda dapat menggunakan:

./gradlew assembleMyBuild --stacktrace
Francois
sumber
7

Untuk menambahkan stacktrace klik pada Gradle di sisi kanan layar proyek Android;

  1. Klik pada ikon pengaturan; ini akan membuka halaman pengaturan,

  2. Kemudian klik pada kompiler

  3. Kemudian tambahkan perintah --stacktraceatau --debugseperti yang ditunjukkan;

  4. Jalankan kembali aplikasi untuk mendapatkan laporan gradle.

pengguna1551978
sumber
Bagaimana jika opsi ini diabaikan? Haruskah kita membersihkan beberapa cache?
myoan
6

(diedit Desember 2018: Android Studio 3.2.1 di Mac juga)

Untuk Android Studio 3.1.3 di Mac, itu di bawah

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

dan kemudian, untuk melihat jejak tumpukan, tekan tombol ini

tombol untuk menampilkan jejak stack

auspicious99
sumber
Saya mengikuti langkah-langkah yang diberikan dalam solusi di bawah ini, tetapi saya masih mendapatkan prompt - "Coba: Jalankan dengan opsi --stacktrace untuk mendapatkan jejak stack. Jalankan dengan opsi --info atau --debug untuk mendapatkan lebih banyak keluaran log. Jalankan dengan --scan untuk mendapatkan wawasan penuh. "
Nishita
@Nishita, apakah Anda mengetik --stacktracedan / atau --infodan / atau --debugdan / atau di --scanbawah opsi baris perintah?
auspicious99
1
ya saya lakukan. Mengaktifkannya dalam pengaturan preferensi tidak membantu. Saya harus menjalankan perintah pada terminal secara manual untuk melihat stacktrace.
Nishita
2

Untuk Android Studio 3.1.3 itu di bawah

File -> Pengaturan -> Build, Eksekusi, Deployment -> Compiler

gmetax
sumber
1

solusi saya adalah ini:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}
Fredy sanchez .m
sumber
0

Untuk dapat menjalankan opsi seperti --stacktracedalam perintah gradle, Anda harus meletakkannya di awal, seperti:

./gradlew --stacktrace assembleMyBuild

Anthony Cannon
sumber
0

Jika Anda menggunakan fastlane, flag tambahan dapat dikirimkan

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

Informasi lebih lanjut di sini

Vladyslav Zavalykhatko
sumber
0

solusi saya adalah ini:

cd android

lalu:

./gradlew assembleMyBuild --stacktrace
Kourosh Neyestani
sumber
-1

Untuk Meningkatkan Tumpukan Maksimum: Klik untuk membuka Android Studio Anda, lihat gambar di bawah ini. Selangkah demi selangkah. ANDROID STUDIO v2.1.2

Klik untuk menavigasi ke Pengaturan dari Configure atau GO TO FILE SETTINGS di bagian atas Android Studio.

masukkan deskripsi gambar di sini

periksa juga kompiler Android dari tautan untuk mengonfirmasi apakah itu juga berubah jika tidak menambah ukuran yang sama seperti yang Anda modifikasi dari tautan kompiler.

Catatan: Anda dapat meningkatkan basis ukuran pada kapasitas memori Anda dan ingat pengaturan ini didasarkan pada Android Studio v2.1.2

Umar Pharouk
sumber
5
Apakah ini pertanyaan yang tepat untuk jawaban ini? sepertinya itu milik tempat lain.
Acapulco