Android Studio: Cửa sổ đầu ra lỗi trình biên dịch ở đâu?


310

Khi tôi 'Chạy' dự án của mình trong Android Studio, trong cửa sổ 'Tin nhắn', tôi nhận được:

Gradle: 
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':play01:compileDebug'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Nó nói > Compilation failed; see the compiler error output for details. Vậy "đầu ra lỗi trình biên dịch" ở đâu? Và / Hoặc làm thế nào để tôi chạy với --stacktracetùy chọn?


2
Tôi chạy Android Studio 1.3.2 và không có giải pháp nào hoạt động.
Milan Babuškov

6
Studio android yêu cầu đòi hỏi những câu hỏi ngớ ngẩn như vậy để được nâng cấp .. :)
Siddharth

có lẽ đó là ý tưởng của IDEA để che giấu lỗi một cách lý tưởng (SCNR)
bebbo

Tôi cũng có vấn đề tương tự khi tôi cập nhật plugin. Tôi sử dụng Android Studio 3.4 Canary 6
Saurabh Gaddelpalliwar

Tôi cũng đã phải đối mặt với vấn đề này. Trong trường hợp của tôi, Vấn đề nằm ở dữ liệu lớp thực thể. Nếu các thành viên dữ liệu của bạn là riêng tư, họ phải tạo các phương thức getter và setter. Do phương pháp này các vấn đề ràng buộc khác đang đến.
Sumit Kumar

Câu trả lời:


63

Câu trả lời này đã lỗi thời. Đối với Android 3.1 Studio, hãy vào câu trả lời này

Một điều bạn có thể làm là hủy kích hoạt bản dựng bên ngoài. Để làm như vậy, nhấp vào "biểu tượng cài đặt trình biên dịch" trong bảng "Tạo thông báo" xuất hiện khi bạn gặp lỗi. Bạn cũng có thể mở cài đặt trình biên dịch bằng cách đi tới Tệp -> Cài đặt -> Trình biên dịch. (Thanx đến @maxgalbu cho mẹo này).

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

Bỏ chọn "Sử dụng bản dựng bên ngoài"

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

Và bạn sẽ thấy các lỗi trong giao diện điều khiển

EDIT: Sau khi quay lại "xây dựng nội bộ" một lần nữa, bạn có thể gặp một số lỗi, bạn có thể giải quyết chúng theo cách này: Android Studio: vô hiệu hóa "Xây dựng bên ngoài" để hiển thị đầu ra lỗi tạo ra lỗi lớp trùng lặp


Bỏ chọn "Sử dụng xây dựng bên ngoài" giới thiệu hai lỗi khi tôi cố gắng xây dựng dự án của mình: error: duplicate class: com.moberg.colorgame.BuildConfigerror: duplicate class: com.moberg.colorgame.R
Moberg

3
@Moberg Vấn đề tương tự ở đây, tôi bắt đầu một câu hỏi mới: stackoverflow.com/questions/17108393/
Kẻ

Ok, tôi sẽ xem điều gì xảy ra và trả lời trong câu hỏi mới nếu tôi tìm thấy điều gì đó.
Jorge Fuentes González

7
Tôi không có bảng "tạo tin nhắn" ... wtf?
maxgalbu

9
Tôi không thấy các tùy chọn này bây giờ. Tôi đang chạy Android Studio 1.2.1.1
Andrew S

563

Đối với Android Studio 3.1, chọn biểu tượng bên dưới Build one trong cửa sổ Build.

Nút chuyển đổi nhật ký thô Android Studio 3.1

Bởi Android Studio 3.3 (có thể trong 3.2.1), biểu tượng đã thay đổi, mặc dù vị trí giống nhau:

Nút chuyển đổi nhật ký thô Android Studio 3.3

Cửa sổ xây dựng sẽ mở khi bạn chạy một hành động xây dựng (ví dụ: từ menu Build). Nếu bạn không nhìn thấy nó, bạn có thể thử nút "Build" dọc phía dưới cửa sổ (cũng hiển thị trong ảnh chụp màn hình ở trên) hoặc qua các menu Xem → Công cụ Windows → Build.


Rất vui khi thấy rất nhiều người đã bình chọn cho câu trả lời này và Android Studio 3.1 vẫn đang trong giai đoạn thử nghiệm 3. :-)
Ove Stoerholt

16
Biểu tượng là gì, dường như tôi không thể tìm thấy nó, tôi cũng không thể tìm thấy cửa sổ xây dựng
Sam

7
Thật buồn khi tôi phải google và đào qua stackoverflow để tìm hiểu làm thế nào để xem đầu ra của trình biên dịch. Cảm ơn bạn @boiledwater
spartygw 30/07/18

1
@shikharbansal trong trường hợp liên kết hình ảnh bị hỏng lần nữa, biểu tượng nằm ở cạnh trái của cửa sổ xây dựng. Nó trông giống như một khung nhìn danh sách được phân tách từ "ab" bằng dấu gạch chéo.
Tối đa

4
IDE của Android chỉ đơn giản nói "chuyển đổi chế độ xem" .. chuyển đổi chế độ xem của cái gì? +1 cho câu trả lời này. Google vẫn cố gắng hết sức để che khuất quy trình làm việc cho các nhà phát triển
tức giận vào

39

Nó thực sự đơn giản để thiết lập! Chỉ cần truy cập cài đặt Trình biên dịch tại Android Studio 2.2.3 và đặt --stacktracelệnh:

Trình biên dịch cài đặt để thêm lệnh --stacktrace

Sau đó chạy lại ứng dụng


5
Nếu nó thực sự đơn giản như bạn nói, chủ đề này sẽ không tồn tại.
jungledev

1
@jungledev Thật sự rất đơn giản để thiết lập, nhưng không quá rõ ràng để biết điều đó :) Thay đổi cách diễn đạt trong câu trả lời của tôi để làm rõ điều này
Antonio

1
Trong AS 4.0, tôi đặt điều này - stacktrace. Nhưng đầu ra ở đâu? Đó là câu hỏi ban đầu.
Steve White

@SteveWhite trong đầu ra của giao diện điều khiển trong khi xây dựng.
Antonio

32

Bạn có trên Windows không? Khởi chạy cmd, tìm thư mục dự án của bạn và chạy "gradlew build". Điều này đã cung cấp cho bạn đầu ra nhiều hơn IDE, bạn cũng có thể sử dụng --info, --stacktrace và --debug ở đó.


10
xinh đẹp! Bây giờ nếu chỉ có đầu ra đó có thể được tích hợp vào Android Studio
ChaseTheSun

4
Suy nghĩ của tôi chính xác. Một IDE không có cửa sổ cho lỗi biên dịch? Tôi cá là chúng ta đang thiếu một cái gì đó, nhưng cách giải quyết này là đủ cho đến khi điều đó được giải quyết.
Hadi Kocabas

4
"Bạn đang ở trên cửa sổ?" - Điều này cũng hoạt động trong Ubuntu Linux! Cảm ơn! /[folder-where-you-installed-the-android-studio]/sdk/tools/templates/gradle/wrapper/gradlew build
geekQ

Tôi đang trong quá trình di chuyển một dự án lớn từ Eclipse sang Android Studio. Lời khuyên tốt nhất cho đến nay: hãy xây dựng dòng lệnh gradle hoạt động trước, sau đó lo lắng về IDE mới.
Jerry Brady

18

Bạn cũng có thể thấy lỗi trong cửa sổ Build bằng cách nhấp vào nút chuyển đổi.

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


15

Trong trường hợp của tôi, tôi thích mở cửa sổ Terminal ở phía dưới bên trái và chạy gradlew build --info:

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


5
@Pamblam Sử dụng ./gradlew
Rhys

1
Đây là câu trả lời duy nhất tôi tìm thấy trên trang này hoạt động trong AS 4.0
Steve White

9

Trong android studio 2.2.3, bạn có thể tìm thấy đầu ra trong bảng điều khiển lớp như hình dưới đây bảng điều khiển lớp


1
Trong AS 4.0, Bảng điều khiển Gradle này ở đâu?
Steve White

6

Tôi đang xây dựng dựa trên những gì mà Jorge đề nghị. Goto File-> Cài đặt-> trình biên dịch.

Tại đây bạn sẽ thấy một trường để thêm các tùy chọn trình biên dịch nơi bạn cắm --stacktrace


Tôi đã thử điều này trong AS 4.0. Tôi không biết là tìm kiếm bất kỳ đầu ra nào mà nó có thể đã tạo ra.
Steve White

2

Chạy

gradlew --stacktrace 

trong một thiết bị đầu cuối để xem báo cáo đầy đủ

đối với tôi đó là

Nhiệm vụ: ứng dụng: compileDebugJavaWithJavac FAILED javacTask: nguồn phát hành 1.8 yêu cầu phát hành mục tiêu 1.8

vì vậy tôi đã thêm

 compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

trong app.gradle file / android và quá trình xây dựng hoàn tất thành công


Khi tôi thực hiện việc này trong một thiết bị đầu cuối (trong thư mục dự án), nó báo BUILD SUCCESSFUL Nhưng khi tôi xây dựng với Build -> Make Project, tôi thấy thông báo tương tự rằng có lỗi biên dịch.
Steve White

1

Trong trường hợp của tôi, tôi đã có một tham chiếu findViewById cho một khung nhìn tôi đã xóa trong xml

nếu bạn đang chạy AS 3.1 trở lên:

  1. đi tới Cài đặt> Xây dựng, Thực thi và Triển khai> trình biên dịch
  2. thêm --stacktrace vào các tùy chọn dòng lệnh, nhấp vào áp dụng và ok
  3. Ở dưới cùng của AS, nhấp vào Console / Build (Nếu bạn sử dụng phiên bản ổn định 3.1.2 trở lên) mở rộng bảng điều khiển và chạy lại ứng dụng của bạn.

bạn sẽ thấy stacktrace đầy đủ trong chế độ xem mở rộng và lỗi cụ thể.


Đây là NHƯ 4.0. Nó vẫn thất bại theo cách tương tự. Không có stacktrace.
Steve White

Bạn đã thêm các cờ --stacktrack --debug --info chưa?
Peterstev Uremgba

Chắc chắn rồi. Nhưng đó không phải là vấn đề. Vấn đề (gần như tôi có thể nói) không còn cửa sổ nơi dấu vết ngăn xếp xuất hiện. Tuy nhiên, có thể chạy gradlew bằng tay trong một thiết bị đầu cuối để có được thông tin. Trong một bình luận khác trên trang này, tôi đã nói phương pháp nào hiệu quả.
Steve White

0

Nếu bạn đang ở trong studio android 3.1, Xác minh nếu tệp-> Cấu trúc dự án -> Khả năng tương thích nguồn trống. không nên có bộ 1.8.

sau đó nhấn ok, dự án sẽ đồng bộ và lỗi sẽ biến mất.


Câu hỏi không phải là làm thế nào để làm cho lỗi biến mất. Câu hỏi là làm thế nào để xem các thông báo lỗi.
Steve White

0

sau khi chuyển đổi android sang androidx.

thay đổi vấn đề thư viện nhập khẩu sẽ sol. Như thế này:

import androidx.appcompat.widget.Toolbar;  <<  like this

nhập androidx.annotation.NonNull; << như thế này

nhập androidx.appcompat.app.ActionBarDrawerToggle; << như thế này

nhập androidx.drawerlayout.widget.DrawerLayout; << như thế này

nhập androidx.recyclerview.widget.RecyclerView; << như thế này

nhập androidx.appcompat.app.AppCompatActivity; << như thế này


Điều này không giải quyết câu hỏi của OP: làm thế nào để xem các lỗi biên dịch.
Steve White

-2

Tôi đã giải quyết lỗi này "Biên dịch thất bại để xem đầu ra lỗi trình biên dịch để biết chi tiết"

Giải pháp rất đơn giản: Thêm một Gradle bên dưới một dòng mã

triển khai 'com.google.android.gms: play-services-ads: 15.0.0'


Trường hợp chính xác là dòng mã được thêm vào? Bạn có thể viết lại?
hòa tấu141

Điều này không trả lời câu hỏi ban đầu: làm thế nào để xem các thông báo lỗi trình biên dịch.
Steve White
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.