Gradle Logs อยู่ที่ไหน


92

Gradle build สำหรับแอปใน Android Studio สร้างข้อผิดพลาดต่อไปนี้:

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

ใครช่วยให้คำแนะนำว่าจะหาบันทึกได้ที่ไหน

ตอนแรกฉันคิดว่านี่เป็นคำถามพื้นฐานที่คำตอบง่ายๆจะปรากฏขึ้นที่ด้านบนเพื่อการค้นหาอย่างรวดเร็ว แต่ฉันหาไม่พบ

โปรดทราบว่าคำถามนี้เกี่ยวกับบันทึกไม่ใช่ข้อผิดพลาดเฉพาะนี้ ข้อความแสดงข้อผิดพลาดนี้ใช้เป็นเพียงตัวอย่าง ในกรณีที่คุณสงสัยข้อผิดพลาดเฉพาะนี้เกิดจากการไม่ใช้เวอร์ชันล่าสุด (23) สำหรับ compileSdkVersion ใน build.gradle


คุณสามารถโพสต์ไฟล์ build.gradle ของคุณได้บ่อยครั้งข้อผิดพลาดดังกล่าวเกิดขึ้นเนื่องจากความไม่สอดคล้องกันของข้อมูลใน build.gradle
Krasimir Stoev

2
ขอบคุณมากสำหรับการตอบกลับอย่างรวดเร็ว ฉันไม่ต้องการกวนใจผู้คนด้วยไฟล์ Gradle ข้อผิดพลาดเกี่ยวข้องกับการผูกข้อมูลและฉันสามารถกำจัดข้อผิดพลาดได้โดยการลบการผูกข้อมูล คำถามนี้เป็นคำถามทั่วไปเกี่ยวกับบันทึกไม่ใช่สำหรับข้อผิดพลาดเฉพาะ ฉันจะอัปเดตคำถามเพื่อชี้แจงเรื่องนี้
Hong

คำตอบ:


74

Gradle ไม่เปลี่ยนเส้นทางบันทึกในไฟล์แยกต่างหากใน Android Studio

ดังนั้นหากคุณต้องการดูไฟล์เหล่านี้ในไฟล์คุณต้องสร้าง gradle โดยใช้คำสั่งในเทอร์มินัลและเปลี่ยนทิศทาง gradle input ไปยังไฟล์

gradlew build > myLogs.txt 2>&1

คำสั่งนี้จะเปลี่ยนทิศทางเอาต์พุตมาตรฐานและข้อความแสดงข้อผิดพลาดทั้งหมดจาก gradle build ไปยังไฟล์ชื่อ myLogs.txt ในโฟลเดอร์โครงการ

gradlew build > myLogs.txt 2> logErrors.txt

คำสั่งนี้จะเปลี่ยนเส้นทางเอาต์พุตมาตรฐานทั้งหมดจากบันทึก Gradle ไปยัง myLogs.txt และข้อความแสดงข้อผิดพลาดทั้งหมดไปยัง logErrors.txt

ทดสอบบน Windows 10 และทำงานได้อย่างสมบูรณ์

นี่คือข้อมูลเพิ่มเติมเกี่ยวกับวิธีเปลี่ยนทิศทางเอาต์พุตมาตรฐานจากคำสั่งไปยังไฟล์ต่างๆ


ขอบคุณสำหรับคำตอบ ฉันใช้ Android บน Windows 10 คุณหมายถึงการเรียกใช้ Gradle ใน Android Studio ไม่ได้สร้างไฟล์บันทึกใช่หรือไม่
Hong

1
ใช่. ฉันใช้งานบน Windows 10 เช่นกันและฉันไม่สามารถหาวิธีเรียกใช้สคริปต์การสร้าง gradlew ผ่านเทอร์มินัลโดยใช้คำสั่งแบบที มีสองตัวเลือก - รันคำสั่งด้วยคำสั่งแบบทีออฟที่รองรับบน Windows หรือนำทางเบ็ดผ่าน Log4j ตามที่กล่าวไว้ในลิงค์ด้านบน
Krasimir Stoev

1
พรุ่งนี้ในที่ทำงานฉันจะพยายามรันคำสั่งนี้บน Ubuntu และฉันจะดูว่ามันใช้งานได้หรือไม่ ฉันได้อ่านแล้วว่านี่เป็นวิธีที่คุณสามารถจัดเก็บบันทึกของคุณนอกเอาต์พุตมาตรฐาน
Krasimir Stoev

1
ฉันทำการค้นหาและพบว่า gradle ไม่มีตัวเลือกการบันทึกทั่วไปสำหรับไฟล์ภายนอก นี้จะ sugested ที่นี่: discuss.gradle.org/t/logging-to-console-and-file/8635และในโพสต์ฟอรั่มอื่น ๆ บางเกินไป
Krasimir Stoev

1
สวัสดีอีกครั้งฉันตรวจสอบแล้วและปรากฎว่า gradle แสดงผลบันทึกในเอาต์พุตมาตรฐานใน Android Studio เท่านั้น หากคุณต้องการเห็นไฟล์เหล่านี้ในไฟล์แยกต่างหากคุณควรสร้างโปรเจ็กต์ของคุณด้วยคำสั่งและเปลี่ยนทิศทางผลลัพธ์ไปยังไฟล์ ฉันจะอัปเดตคำตอบของฉัน เพิ่งทดสอบและใช้งานได้ดีบน windows 10
Krasimir Stoev

42

ดู -> เครื่องมือ Windows -> สร้าง

มีปุ่ม "ab" ขนาดเล็กที่แผงด้านซ้าย

ป้อนคำอธิบายภาพที่นี่

บันทึก gradle ทั้งหมดสำหรับบิลด์ปัจจุบันอยู่ที่นั่น

ป้อนคำอธิบายภาพที่นี่

แก้ไข : มีไอคอนใหม่จาก AndroidStudio 3.3

ป้อนคำอธิบายภาพที่นี่


5
ไอคอนมีการเปลี่ยนแปลง แต่ยังคงอยู่ที่นั่น ข้อความคำแนะนำวางเมาส์เหนือ "สลับมุมมอง"
นาม

1
ช่วยชีวิตฉันไว้. คอมไพเลอร์ Kotlin แสดงกองร่องรอยกองซ้อนซึ่งฉันไม่พบ useul
peterchaula

5
ปุ่มหายไปแล้ว ตอนนี้คุณคลิกที่บรรทัดบนสุด ("Build: ... ") เพื่อแสดงบันทึกทั้งหมด
Erik Browne

14

คุณยังสามารถลองรันงานของคุณได้เช่นนี้:

> gradlew - สร้างข้อมูล

คุณจะได้รับข้อมูลบันทึกที่เป็นประโยชน์มากมาย


6
ทำไมต้องโหวตลง? Gradle พิมพ์Run with --info or --debug option to get more log output.ที่ด้านล่างของเอาต์พุต"อาเด็ก ๆ สมัยนี้พวกเขาหลีกเลี่ยงขั้วศักดิ์สิทธิ์"
Antek

นี่คือสิ่งที่ฉันต้องการเพื่อดูบรรทัดคำสั่งล็อกอินแบบเต็ม นี่คือคำตอบที่ดีมีประโยชน์! ฉันใช้ Gradle 5.5.1
David
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.