Cách thêm tùy chọn Stacktrace hoặc gỡ lỗi khi xây dựng dự án Android Studio


142

Tôi đã cố gắng điều tra lỗi xây dựng dự án trong đầu ra giao diện điều khiển như sau:

:myapp:processDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
...
...

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

Tôi nghi ngờ nó có một cái gì đó để làm với tài nguyên không tìm thấy lỗi. Câu hỏi của tôi là, ở cấp IDE, làm thế nào tôi có thể thêm --stacktracehoặc --debugtùy chọn để nó có thể tạo thêm thông tin để tôi gỡ lỗi?

Câu trả lời:


207

Bạn có thể sử dụng GUI để thêm các cờ dòng lệnh này từ

File > Settings > Compiler (Gradle-based Android Project)

Đối với người dùng MacOS, nó ở đây

Android Studio > Preferences > Build, Execution, Deployment > Compiler

như thế này (thêm --stacktracehoặc --debug)

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

(Lưu ý rằng ảnh chụp màn hình là từ trước 0.8.10, tùy chọn không còn trong Compiler > Gradlephần nữa, giờ đây nó nằm trong một phần riêng có tên Compiler (Gradle-based Android Project))


2
Điều này đã biến mất trong 0.8.12. Có ai biết nhiều hơn không?
nmr

4
Họ nghĩ rằng họ đã chọn tùy chọn Trình biên dịch trên root, đã kiểm tra trong Android Studio 0.8.10. Bây giờ studio gọi nó là Trình biên dịch (Dự án Android dựa trên Gradle). Kiểm tra một lần và cập nhật.
pyus13

2
Tôi nghĩ rằng tôi hiểu những gì bạn đang nói, nhưng tôi đang nói về một cái gì đó khác. Trong phần Gradle của "Cài đặt dự án", họ đã xóa trường "Tùy chọn dòng lệnh". Vì vậy, không có nơi nào để thêm cờ vào Gradle. (Tuy nhiên, trường "Tùy chọn VM" vẫn còn đó.)
nmr

2
@nmr: Đừng nói đến "Gradle." Thay vào đó, hãy kiểm tra "Trình biên dịch (Dự án Android dựa trên lớp)". Ở đó bạn sẽ tìm thấy "Tùy chọn Comand-line."
Behnam

6
Trong Android Studio 1.2.2 (trên Windows), đó là File > Settings > Build, Execution, Deployment > Compilernơi bạn có thể thêm các cờ vào Command-line Options:.
chRyNaN

38

Trên Macphiên bản của Android Studio Beta 1.2, nó dưới

Android Studio->preferences->Build, Execution, Deployment->Compiler


3
Câu trả lời này cũng đúng như trên Android Studio 2.0.
Will Vanderhoef

1
Trong các phiên bản mới nhất của AS (2.2 và 2.3) để xem tùy chọn Trình biên dịch bạn cần thoát khỏi dự án mở, hãy đến AS bắt đầu (nơi hiển thị dự án gần đây) và nhấp vào Cấu hình -> Tùy chọn-> Xây dựng, Thực thi, Triển khai. Mặt khác, Trình biên dịch không hiển thị
Stoycho Andreev

24

Trong Android Studios 2.1.1, Tùy chọn dòng lệnh nằm trong phần "Xây dựng, thực thi, triển khai"> "Trình biên dịch"

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


2
bạn cũng có thể thêm --scan
Kirill Karmazin

13

Những gì tôi sử dụng cho mục đích gỡ lỗi là chạy tác vụ lớp với stacktrace trực tiếp trong thiết bị đầu cuối. Sau đó, bạn không ảnh hưởng đến biên dịch bình thường của bạn.

Từ thư mục gốc dự án của bạn, thông qua thiết bị đầu cuối, bạn có thể sử dụng:

./gradlew assembleMyBuild --stacktrace

7

Để thêm một stacktrace, nhấp vào Gradle ở bên phải màn hình dự án Android;

  1. Nhấp vào biểu tượng cài đặt; Điều này sẽ mở trang cài đặt,

  2. Sau đó bấm vào trình biên dịch

  3. Sau đó thêm lệnh --stacktracehoặc --debugnhư được hiển thị;

  4. Chạy lại ứng dụng để lấy báo cáo gradle.


Nếu những lựa chọn này bị bỏ qua thì sao? Chúng ta sẽ xóa một số bộ nhớ cache?
myoan

6

(chỉnh sửa tháng 12 năm 2018: Android Studio 3.2.1 trên Mac cũng vậy)

Đối với Android Studio 3.1.3 trên máy Mac, nó nằm dưới

Android Studio -> Tùy chọn -> Xây dựng, Thi hành, Triển khai -> Trình biên dịch

và sau đó, để xem dấu vết ngăn xếp, nhấn nút này

nút để hiển thị dấu vết ngăn xếp


Tôi đã làm theo các bước được đưa ra trong các giải pháp bên dưới, nhưng tôi vẫn nhận được lời nhắc - "Thử: Chạy với tùy chọn --stacktrace để lấy theo dõi ngăn xếp. Chạy với tùy chọn --info hoặc --debug để có thêm đầu ra nhật ký. Chạy với --scan để có được cái nhìn sâu sắc. "
Nishita

@Nishita, bạn đã nhập --stacktracevà / hoặc --infovà / hoặc --debug/ hoặc --scandưới các tùy chọn dòng lệnh?
tốt

1
vâng tôi đã làm Kích hoạt nó trong cài đặt tùy chọn không giúp được gì. Tôi đã phải tự chạy lệnh trên thiết bị đầu cuối để xem stacktrace.
Nishita

2

Đối với Android Studio 3.1.3, nó nằm dưới

Tệp -> Cài đặt -> Xây dựng, Thi hành, Triển khai -> Trình biên dịch


1

giải pháp của tôi là thế này:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

0

Để có thể chạy các tùy chọn như --stacktracetrong lệnh gradle, bạn cần đặt nó ở đầu, như:

./gradlew --stacktrace assembleMyBuild


0

Trong trường hợp bạn sử dụng fastlane, các cờ bổ sung có thể được chuyển qua

gradle(
   ...
   flags: "{your flags}"
)

Thêm thông tin ở đây


0

giải pháp của tôi là thế này:

cd android

và sau đó:

./gradlew assembleMyBuild --stacktrace

-1

Để tăng heap tối đa: Nhấp để mở Android Studio của bạn, xem hình ảnh bên dưới. Từng bước một. STUDIO ANDROID v2.1.2

Nhấp để điều hướng đến Cài đặt từ Cấu hình hoặc ĐI ĐẾN CÀI ĐẶT TẬP TIN ở đầu Android Studio.

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

cũng kiểm tra trình biên dịch Android từ liên kết để xác nhận nếu nó cũng thay đổi nếu không tăng lên cùng kích thước bạn sửa đổi từ liên kết trình biên dịch.

Lưu ý: Bạn có thể tăng kích thước cơ sở dựa trên dung lượng bộ nhớ của mình và hãy nhớ cài đặt này dựa trên Android Studio v2.1.2


5
Đây có phải là câu hỏi đúng cho câu trả lời này? có vẻ như nó thuộc về nơi khác
Acapulco
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.