Gradle günlükleri nerede?


92

Android Studio'daki bir uygulama için gradle derlemesi aşağıdaki hatayı oluşturur:

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

Herhangi biri günlükleri nerede bulacağına dair bir ipucu verebilir mi?

Başlangıçta bunun o kadar basit bir soru olduğunu düşündüm ki, hızlı bir arama için basit cevabın en üstte belireceğini düşündüm, ancak bulamadım.

Lütfen bu sorunun günlüklerle ilgili olduğunu, bu belirli hata için olmadığını unutmayın . Bu hata mesajı sadece örnek olarak kullanılmıştır. Merak ediyorsanız, bu belirli hata, build.gradle'da compileSdkVersion için en son sürümü (23) kullanmamaktan kaynaklanmıştır.


build.gradle dosyanızı gönderebilir misiniz, bu tür hatalar genellikle build.gradle'daki veri tutarsızlıkları nedeniyle oluşur
Krasimir Stoev

2
Hızlı cevabınız için çok teşekkürler. Gradle dosyasıyla insanların dikkatini dağıtmak istemiyorum. Hata, veri bağlamayla ilgilidir ve bir veri bağlamayı kaldırarak hatayı ortadan kaldırabilirim. Bu soru, belirli bir hata için değil, günlükler hakkında genel bir sorudur. Bunu netleştirmek için soruyu güncelleyeceğim.
Hong

Yanıtlar:


74

Gradle, günlüklerini Android Studio'da ayrı bir dosyaya yönlendirmez.

Bu nedenle, onları bir dosyada görüntülemek istiyorsanız, terminalde bir komut kullanarak gradle oluşturmanız ve gradle girişini bir dosyaya yönlendirmeniz gerekir.

gradlew build > myLogs.txt 2>&1

Bu komut, tüm standart çıktı ve hata mesajlarını gradle derlemesinden proje klasöründeki myLogs.txt adlı bir dosyaya yönlendirecektir.

gradlew build > myLogs.txt 2> logErrors.txt

Bu komut, Gradle günlüklerinden alınan tüm standart çıktıları myLogs.txt dosyasına ve tüm hata mesajlarını logErrors.txt dosyasına yönlendirecektir.

Windows 10'da test edildi ve mükemmel çalışıyor.

Standart çıktının komutlardan farklı dosyalara nasıl yeniden yönlendirileceği hakkında daha fazla bilgi burada .


Cevap için teşekkür ederim. Android'i Windows 10'da çalıştırıyorum. Gradle'ı Android Studio'da çalıştırmanın günlük dosyaları oluşturmadığını mı söylediniz?
Hong

1
Evet. Windows 10'da da çalıştırıyorum ve gradlew derleme komut dosyasını bir tee benzeri komut kullanarak terminal üzerinden çalıştırmanın bir yolunu bulamıyorum. Yani iki seçenek - komutu Windows'ta desteklenen tee benzeri bir komutla çalıştırın veya yukarıdaki bağlantıda belirtildiği gibi bir Log4j aracılığıyla bir kancaya gidin.
Krasimir Stoev

1
Tommorow iş başında bu komutu Ubuntu'da çalıştırmaya çalışacağım ve çalışıp çalışmadığını göreceğim. Günlüklerinizi standart çıktının dışında saklamanın bu şekilde olduğunu okudum
Krasimir Stoev

1
Bir arama yaptım ve gradle'ın harici bir dosya için genel bir günlük kaydı seçeneği sunmadığını fark ettim. Bu, burada önerilmektedir: Discuss.gradle.org/t/logging-to-console-and-file/8635 ve diğer bazı forum gönderilerinde de.
Krasimir Stoev

1
Tekrar merhaba, kontrol ettim ve gradle'ın günlüklerini yalnızca Android Studio'daki standart çıktıda çıkardığı ortaya çıktı. Bunları ayrı bir dosyada görmeniz gerekiyorsa, projenizi bir komutla oluşturmalı ve çıktıyı bir dosyaya yönlendirmelisiniz. Cevabımı güncelleyeceğim. Sadece test ettim ve Windows 10'da iyi çalışıyor
Krasimir Stoev

42

Görünüm -> Araç Pencereleri -> Oluştur.

Sol panelde küçük "ab" düğmesi var.

görüntü açıklamasını buraya girin

Mevcut derleme için tüm derecelendirme günlükleri orada.

görüntü açıklamasını buraya girin

DÜZENLEME : AndroidStudio 3.3'ten yeni bir simge var

görüntü açıklamasını buraya girin


5
Simge değişti, ancak hala orada. Üzerine gelindiğinde ipucu metni "Görünümü değiştir".
yöntem imzası

1
Hayatımı kurtardı. Kotlin derleyicisi, kullanışlı bulamadığım yığın izlerini gösteriyordu
peterchaula

5
Düğme kayboldu. Şimdi tüm günlüğü göstermek için en üst satıra ("Yapı: ...") tıklayın.
Erik Browne

14

Görevinizi şu şekilde çalıştırmayı da deneyebilirsiniz:

> gradlew --info yapı

Bir sürü faydalı günlük bilgisi alacaksınız


6
neden olumsuz oy? Gradle'ın kendisi Run with --info or --debug option to get more log output.çıktısının altına "Ah, bugünlerde çocuklar, kutsal terminalden
Antek

Komut satırında tam genişletilmiş günlüğü görmek için ihtiyacım olan şey bu. Bu yararlı ve iyi bir cevap! Gradle 5.5.1 kullanıyorum
David
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.