Nhật ký Gradle ở đâu?


92

Bản dựng Gradle cho một ứng dụng trong Android Studio tạo ra lỗi sau:

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

Bất cứ ai có thể cung cấp một mẹo về nơi để tìm các bản ghi?

Ban đầu tôi nghĩ đây là một câu hỏi thô sơ đến mức câu trả lời đơn giản sẽ xuất hiện ở trên cùng để tìm kiếm nhanh, nhưng tôi đã không tìm thấy nó.

Xin lưu ý rằng câu hỏi này là về nhật ký , không phải về lỗi cụ thể này. Thông báo lỗi này chỉ được sử dụng như một ví dụ. Trong trường hợp bạn tò mò, lỗi cụ thể này là do không sử dụng phiên bản mới nhất (23) cho compileSdkVersion trong build.gradle.


bạn có thể đăng tệp build.gradle của mình không, các lỗi như vậy thường xảy ra do sự mâu thuẫn dữ liệu trong build.gradle
Krasimir Stoev

2
Cảm ơn rất nhiều cho phản ứng nhanh chóng của bạn. Tôi không muốn phân tâm mọi người với tệp Gradle. Lỗi liên quan đến liên kết dữ liệu và tôi có thể loại bỏ lỗi bằng cách xóa liên kết dữ liệu. Câu hỏi này là một câu hỏi chung về nhật ký, không phải cho lỗi cụ thể. Tôi sẽ cập nhật câu hỏi để làm rõ điều này.
Hồng

Câu trả lời:


74

Gradle không chuyển hướng nhật ký của mình trong một tệp riêng biệt trong Android Studio.

Do đó, nếu bạn muốn xem chúng trong một tệp, bạn cần phải tạo gradle bằng cách sử dụng một lệnh trong terminal và chuyển hướng đầu vào gradle đến một tệp.

gradlew build > myLogs.txt 2>&1

Lệnh này sẽ chuyển hướng tất cả đầu ra tiêu chuẩn và thông báo lỗi từ bản dựng gradle đến một tệp có tên myLogs.txt trong thư mục dự án.

gradlew build > myLogs.txt 2> logErrors.txt

Lệnh này sẽ chuyển hướng tất cả đầu ra tiêu chuẩn từ nhật ký Gradle đến myLogs.txt và tất cả các thông báo lỗi đến logErrors.txt

Đã thử nghiệm trên Windows 10 và hoạt động hoàn hảo.

Dưới đây là thông tin thêm về cách chuyển hướng đầu ra tiêu chuẩn từ các lệnh sang các tệp khác nhau.


Cảm ơn bạn đã trả lời. Tôi đang chạy Android trên Windows 10. Ý của bạn là chạy Gradle trong Android Studio không tạo ra các tệp nhật ký?
Hồng

1
Đúng. Tôi cũng đang chạy nó trên Windows 10 và dường như tôi không thể tìm ra cách chạy tập lệnh xây dựng gradlew thông qua thiết bị đầu cuối bằng lệnh giống như tee. Vì vậy, có hai tùy chọn ở đó - chạy lệnh với lệnh giống như tee được hỗ trợ trên Windows hoặc điều hướng hook qua Log4j như đã nói trong liên kết ở trên.
Krasimir Stoev

1
Tommorow tại nơi làm việc Tôi sẽ thử thực hiện lệnh này trên Ubuntu và tôi sẽ xem nó có hoạt động không. Tôi đã đọc rằng đây là cách bạn có thể lưu trữ các bản ghi của bạn bên ngoài của đầu ra tiêu chuẩn
Krasimir Stoev

1
Tôi đã tìm kiếm và nhận thấy rằng gradle không cung cấp tùy chọn lưu trữ chung cho tệp bên ngoài. Điều này được giải quyết ở đây: thảo luận.gradle.org/t/logging-to-console- and- file/8635 và trên một số bài đăng diễn đàn khác.
Krasimir Stoev

1
Xin chào một lần nữa, tôi đã kiểm tra và hóa ra rằng gradle chỉ xuất nhật ký của nó ở đầu ra tiêu chuẩn trong Android Studio. Nếu bạn cần xem chúng trong một tệp riêng biệt, bạn nên xây dựng dự án của mình bằng một lệnh và chuyển hướng đầu ra đến một tệp. Tôi sẽ cập nhật câu trả lời của mình. Chỉ cần kiểm tra nó và nó hoạt động tốt trên các cửa sổ 10
Krasimir Stoev

42

Xem -> Công cụ Windows -> Xây dựng.

Có nút "ab" nhỏ trên bảng điều khiển bên trái.

nhập mô tả hình ảnh ở đây

Tất cả các bản ghi gradle cho bản dựng hiện tại đều ở đó.

nhập mô tả hình ảnh ở đây

CHỈNH SỬA : Có biểu tượng mới từ AndroidStudio 3.3

nhập mô tả hình ảnh ở đây


5
Biểu tượng đã thay đổi, nhưng nó vẫn ở đó. Gợi ý văn bản khi di chuột qua nó "Chuyển đổi chế độ xem".
chữ ký

1
Cứu cuộc đời tôi. Trình biên dịch Kotlin được hiển thị một đống đống dấu vết mà tôi không tìm thấy useul
peterchaula

5
Nút đã biến mất. Bây giờ bạn nhấp vào dòng trên cùng ("Bản dựng: ...") để hiển thị toàn bộ nhật ký.
Erik Browne

14

Bạn cũng có thể thử chạy tác vụ của mình như sau:

> gradlew --info build

Bạn sẽ nhận được một loạt thông tin nhật ký hữu ích


6
tại sao lại phản đối? Bản thân Gradle in Run with --info or --debug option to get more log output.ở cuối đầu ra của nó "Ah, những đứa trẻ ngày nay, chúng tránh bến cảng thần thánh"
Antek

Đây là những gì tôi cần, để xem nhật ký mở rộng đầy đủ trong dòng lệnh. Đây là câu trả lời hữu ích và hay! Tôi đang sử dụng Gradle 5.5.1
David
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.