Tôi đang cố gắng có được hình ảnh tốt hơn về những gì xảy ra đằng sau hậu trường trong Android Studio khi tạo ứng dụng Android. Tôi đã được đọc trên Gradle, nhưng một điều tôi không thể tìm ra là làm thế nào để xem lệnh CLI tương ứng và các đối số được gọi bởi Gradle. Dường như nó được trừu tượng hóa và không được ghi vào Gradle Console
hoặc Event Log
.Làm cách nào tôi có thể xem lệnh CLI được thực thi bởi tác vụ Gradle trong Android Studio?
Gần nhất tôi đã nhận thấy những gì đang xảy ra bên trong Gradle là mã AOSP.
2.2.2 Nguồn:
Mục tiêu
Tôi muốn để có thể nhìn thấy lệnh CLI tương ứng được tạo ra bởi các nhiệm vụ Gradle bên trong Android Studio.
sử dụng Case Ví dụ
Tôi muốn xem quá trình xây dựng Legacy Android trong chiều sâu. Điều này bao gồm việc thực hiện các bước sau:
Mã nguồn/Mã thư viện -> javac -> Java bytecode (.class) -> proguard -> bytecode (.class) -> dex -> DEX bytecode (.dex)
Ví dụ: tôi muốn xem lệnh javac
tương ứng được gọi bởi AndroidJavaCompile
. https://android.googlesource.com/platform/tools/base/+/gradle_2.2.2/build-system/gradle-core/src/main/java/com/android/build/gradle/tasks/factory/AndroidJavaCompile.java
Tôi sợ rằng cách duy nhất để làm điều này là xem trực tiếp thông qua mã nguồn hoặc thậm chí xây dựng trực tiếp từ nguồn.
Do siêng năng
tôi đã thực hiện khá nhiều tìm kiếm trên Google, blog Android, Google I/O cuộc đàm phán, sách Android, và nhiều hơn nữa. Tôi đã không thể tìm ra câu trả lời thẳng thắn.
Cảm ơn bạn đã dành thời gian trả lời câu hỏi này! Khác với cấp độ đăng nhập Gradle đang được tăng lên, có cách khá đơn giản để gỡ lỗi các nhiệm vụ gradle nội bộ để xem những gì đang xảy ra? Tôi cho rằng nó không quá tầm thường. –
Thành thật mà nói, tôi không bao giờ cố gắng gỡ lỗi mã nội bộ của Gradle và/hoặc các plugin của nó, bởi vì tôi chưa bao giờ có những vấn đề phức tạp như vậy. Điều này có liên quan đến bất kỳ vấn đề cụ thể nào không? –