Làm theo các bước sau để thiết lập Tradefed bằng Eclipse.
Tạo một không gian làm việc riêng để phát triển Trade Federation, không sử dụng lại một không gian làm việc đã được sử dụng để phát triển thiết bị Android.
Nếu cần, bạn có thể tải Eclipse IDE dành cho nhà phát triển Java xuống từ: eclipse.org/downloads
Tạo dự án
- Chạy make một lần từ dòng lệnh. Thao tác này sẽ tạo các thư viện bên ngoài mà các dự án bên dưới phụ thuộc vào.
- Đặt biến đường dẫn lớp TRADEFED_ROOT trong
Window > Preferences > Java > Build Path> Classpath Variables
và trỏ biến đó đến thư mục gốc của nguồn tradefed - Đặt biến đường dẫn TRADEFED_ROOT trong
Window > Preferences > General > Workspace > Linked Resources
và trỏ biến đó đến gốc nguồn được trao đổi Sử dụng trình hướng dẫn
File > Import...-> General > Existing Projects into workspace"
để đưa các dự án Java nguồn mở này vào theo các đường dẫn sau:prebuilts/misc/common/ddmlib\* tools/loganalysis tools/loganalysis/tests tools/tradefederation/core tools/tradefederation/core/tests tools/tradefederation/contrib tools/tradefederation/core/remote platform_testing/libraries/health/runners/longevity/host platform_testing/libraries/annotations platform_testing/libraries/health/composers/host
Nếu bạn muốn xem mã nguồn
ddmlib
, hãy đính kèm mã nguồn qua một nhánh công cụ chưa được gói, chẳng hạn như /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.Nếu bạn cũng muốn tải các dự án harness CTS, hãy nhập:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
Tự động định dạng
LƯU Ý: Các tệp cần thiết nằm trong development/ide/eclipse
ở cây nguồn toàn bộ nền tảng. Vì vậy, bạn cần kiểm tra một nhánh nền tảng như main
để lấy các tệp này: /development/main/ide/eclipse/
Sử dụng các tệp lựa chọn ưu tiên trong Eclipse để tự động đặt trình định dạng theo hướng dẫn quy tắc của Android. Cách thực hiện việc này trong Studio:
- Chuyển đến Window > Preferences > Java > Code Style (Cửa sổ > Lựa chọn ưu tiên > Java > Kiểu mã).
- Trong phần Formatter (Trình định dạng), hãy nhập tệp
android-formatting.xml
. - Trong phần Organization > Imports (Sắp xếp > Nhập), hãy nhập tệp
android.importorder
.
Xoá khoảng trắng ở cuối
Cách buộc Eclipse xoá tất cả khoảng trắng ở cuối:
- Chuyển đến Window (Cửa sổ) > Preferences (Lựa chọn ưu tiên) -> Java -> Editor (Trình chỉnh sửa) -> Save Actions (Lưu thao tác).
- Sau đó, Thao tác bổ sung -> Định cấu hình -> Mã > Thẻ Sắp xếp -> Trình định dạng.
- Chọn Xoá khoảng trắng theo sau.
- Nhấp vào Áp dụng và đóng.
Kiểm tra kiểu mã
Khi bạn gửi danh sách thay đổi, một trình bổ trợ tự động tải lên trước sẽ chạy để kiểm tra định dạng mã: google-java-format
Điều này giúp định dạng mã theo tiêu chuẩn chung.
Gỡ lỗi Eclipse
Nếu muốn chạy mã TF thông qua một trình gỡ lỗi trong Eclipse, trước tiên, bạn nên tạo một bài kiểm thử đơn vị cho mã liên quan vì đây sẽ là cách đơn giản và nhanh nhất để thực hiện chức năng.
Để gỡ lỗi kiểm thử đơn vị TF, bạn chỉ cần nhấp chuột phải vào kiểm thử đó rồi chọn Debug As > JUnit test (Gỡ lỗi dưới dạng > kiểm thử JUnit).
Để gỡ lỗi kiểm thử chức năng TF, hãy làm theo hướng dẫn trong phần trước để chạy kiểm thử chức năng, nhưng sử dụng trình đơn Run > Debug configurations (Chạy > Cấu hình gỡ lỗi).
Để gỡ lỗi chính chương trình TF, khi chạy bất kỳ cấu hình nào, hãy làm theo hướng dẫn trong phần trước để chạy kiểm thử chức năng, nhưng cung cấp đối số dòng lệnh cho cấu hình bạn muốn chạy trong bước 4. Vì vậy, để gỡ lỗi cấu hình "Instrument", hãy chuyển đến trình đơn Run > Debug configuration (Chạy > Cấu hình gỡ lỗi) rồi đặt thẻ Arguments (Đối số) trong cấu hình gỡ lỗi của Eclipse thành -- package <package to run> instrument
.
Gỡ lỗi từ xa bằng Eclipse
Hãy làm theo các bước sau để gỡ lỗi từ xa một phiên được hoán đổi bắt đầu từ dòng lệnh tradefed.sh
:
- Bắt đầu tradefed.sh bằng cờ gỡ lỗi:
TF_DEBUG=1 tradefed.sh
- Chờ cho đến khi bạn thấy lời nhắc này từ JVM:
Listening for transport dt_socket at address: 10088
Điều này có nghĩa là JVM đang chờ trình gỡ lỗi đính kèm tại cổng10088
. - Gắn bằng tính năng gỡ lỗi từ xa của Eclipse từ trình đơn chính: Chọn Run > Debug Configurations... (Chạy > Cấu hình gỡ lỗi…).
- Trong hộp thoại bật lên, chọn Remote Java Application (Ứng dụng Java từ xa) trên trình đơn bên trái.
- Nhấp vào biểu tượng Cấu hình khởi chạy mới trên thanh thao tác.
- Đặt tên cho cấu hình theo ý bạn rồi chọn tradefederation làm dự án.
- Điền địa chỉ đã cung cấp trước đó cho cổng.
- Chuyển sang thẻ Source (Nguồn) rồi thêm các dự án tradefederation và google-tradefed vào Source Lookup Path (Đường dẫn tra cứu nguồn).
- Nhấp vào Gỡ lỗi để bắt đầu phiên gỡ lỗi.
Trình gỡ lỗi đính kèm vào quy trình JVM đang nghe, và thiết bị đầu cuối chạy tradefed.sh
sẽ hiện lời nhắc tf>
.
Để thực hiện từng bước trong mã ở chế độ gỡ lỗi, hãy đặt điểm ngắt trong Eclipse và gọi lệnh Tradefed (tức là run <test>
) trong thiết bị đầu cuối. Để gỡ lỗi mọi thứ trong quá trình khởi động TF, bạn có thể đặt điểm ngắt trước, sau đó đính kèm trình gỡ lỗi Eclipse.
MẸO: Để sử dụng một cổng thay thế, hãy thêm TF_DEBUG_PORT=nnn
vào lệnh ở bước 1 ở trên. Bạn thậm chí có thể sử dụng tính năng này trong môi trường phát hành chính thức nếu gặp phải các lỗi treo bí ẩn cần điều tra: thay đổi suspend=y
thành suspend=n
trong tradefed.sh
và bắt đầu bằng cờ gỡ lỗi. JVM sẽ không chờ trình gỡ lỗi đính kèm, nhưng bạn có thể làm như vậy bất cứ lúc nào miễn là quy trình vẫn đang chạy.
Gỡ lỗi từ xa bằng JDB
Để sử dụng Trình gỡ lỗi Java JDB, hãy làm theo các bước tương tự như đối với Eclipse:
- Khởi động
tradefed.sh
bằng cờ gỡ lỗi:TF_DEBUG=1 tradefed.sh
- Chờ cho đến khi bạn nhìn thấy lời nhắc của máy ảo JVM:
Listening for transport dt_socket at address: 10088
. Kết nối
jdb
. Ví dụ: từ croot chạy:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
Hãy chờ kết nối và gỡ lỗi! Chạy
man jdb
để được trợ giúp thêm.
Kiểm tra mức độ sử dụng mã
- Cài đặt trình bổ trợ Eclemma.
- Chuyển đến Help > Install New Software (Trợ giúp > Cài đặt phần mềm mới) rồi trỏ trình hướng dẫn đến: http://update.eclemma.org/
- Sau khi cài đặt, hãy chọn tuỳ chọn kiểm thử Coverage As > JUnit (Mức độ sử dụng dưới dạng > JUnit) để chạy một quy trình kiểm thử mức độ sử dụng mã.