Di mana log Gradle?

92

Build Gradle untuk aplikasi di Android Studio menghasilkan kesalahan berikut:

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.RuntimeException: failure, see logs for details.
cannot generate view binders com.sun.tools.javac.code.Symbol$CompletionFailure: class file for android.view.View$InvalidateInfo not found

Adakah yang bisa menawarkan tip tentang di mana menemukan log?

Awalnya saya pikir ini adalah pertanyaan yang belum sempurna sehingga jawaban sederhana akan muncul di bagian atas untuk pencarian cepat, tetapi saya gagal menemukannya.

Harap dicatat pertanyaan ini tentang log , bukan untuk kesalahan khusus ini. Pesan kesalahan ini digunakan hanya sebagai contoh. Jika Anda penasaran, kesalahan khusus ini disebabkan oleh tidak menggunakan versi terbaru (23) untuk compileSdkVersion di build.gradle.

Hong
sumber
Anda dapat memposting file build.gradle Anda, sering kali kesalahan seperti itu terjadi karena inkonsistensi data dalam build.gradle
Krasimir Stoev
2
Terima kasih banyak atas tanggapan cepat Anda. Saya tidak ingin mengganggu orang dengan file Gradle. Kesalahan ini terkait dengan pengikatan data, dan saya dapat menghilangkan kesalahan dengan menghapus pengikatan data. Pertanyaan ini adalah pertanyaan umum tentang log, bukan untuk kesalahan khusus. Saya akan memperbarui pertanyaan untuk mengklarifikasi ini.
Hong

Jawaban:

74

Gradle tidak mengalihkan log-nya dalam file terpisah di Android Studio.

Oleh karena itu, jika Anda ingin melihatnya dalam sebuah file, Anda perlu membangun gradle menggunakan perintah di terminal dan mengarahkan input gradle ke sebuah file.

gradlew build > myLogs.txt 2>&1

Perintah ini akan mengarahkan semua output standar dan pesan kesalahan dari gradle build ke file bernama myLogs.txt di folder proyek.

gradlew build > myLogs.txt 2> logErrors.txt

Perintah ini akan mengalihkan semua keluaran standar dari log Gradle ke myLogs.txt dan semua pesan kesalahan ke logErrors.txt

Diuji pada Windows 10 dan bekerja dengan sempurna.

Berikut adalah informasi lebih lanjut tentang cara mengarahkan keluaran standar dari perintah ke file yang berbeda.

Krasimir Stoev
sumber
Terima kasih atas jawabannya. Saya menjalankan Android di Windows 10. Apakah maksud Anda menjalankan Gradle di Android Studio tidak menghasilkan file log?
Hong
1
Iya. Saya menjalankannya di Windows 10 juga dan sepertinya saya tidak dapat menemukan cara untuk menjalankan skrip build gradlew melalui terminal menggunakan perintah seperti tee. Jadi dua opsi di sana - jalankan perintah dengan perintah seperti tee yang didukung di Windows atau navigasikan hook melalui Log4j seperti yang dikatakan pada tautan di atas.
Krasimir Stoev
1
Besok di tempat kerja saya akan mencoba menjalankan perintah ini di Ubuntu dan saya akan melihat apakah itu berhasil. Saya telah membaca bahwa ini adalah cara Anda dapat menyimpan log Anda di luar output standar
Krasimir Stoev
1
Saya melakukan pencarian dan menemukan bahwa gradle tidak menyediakan opsi pencatatan umum untuk file eksternal. Ini disarankan di sini: diskusikan.gradle.org/t/logging-to-console-and-file/8635 dan pada beberapa posting forum lainnya juga.
Krasimir Stoev
1
Halo lagi, saya periksa dan ternyata gradle mengeluarkan lognya hanya dalam output standar di Android Studio. Jika Anda perlu melihatnya dalam file terpisah, Anda harus membangun proyek Anda dengan perintah dan mengarahkan output ke file. Saya akan memperbarui jawaban saya. Baru saja mengujinya dan berfungsi dengan baik pada windows 10
Krasimir Stoev
42

Lihat -> Alat Windows -> Bangun.

Ada tombol "ab" kecil di panel kiri.

masukkan deskripsi gambar di sini

Semua log gradle untuk build saat ini ada di sana.

masukkan deskripsi gambar di sini

EDIT : Ada ikon baru dari AndroidStudio 3.3

masukkan deskripsi gambar di sini

ashakirov
sumber
5
Ikon telah berubah, tetapi masih ada. Teks petunjuk saat mengarahkan kursor ke "Toggle view".
Methodignature
1
Menyelamatkan hidupku. Kompiler Kotlin menunjukkan setumpuk jejak tumpukan yang tidak saya temukan berguna
peterchaula
5
Tombolnya telah hilang. Sekarang Anda mengklik baris teratas ("Build: ...") untuk menampilkan log secara keseluruhan.
Erik Browne
14

Anda juga dapat mencoba menjalankan tugas Anda seperti ini:

> gradlew --info build

Anda akan mendapatkan banyak informasi log yang berguna

Ajaxian Krasic
sumber
6
mengapa tidak memilih? Gradle sendiri mencetak Run with --info or --debug option to get more log output.di bagian bawah keluarannya "Ah, anak-anak jaman sekarang, mereka menghindari terminal suci"
Antek
Inilah yang saya butuhkan, untuk melihat baris perintah log in yang diperluas penuh. Ini adalah jawaban yang berguna dan bagus! Saya menggunakan Gradle 5.5.1
David