Thiết lập Eclipse

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 không gian làm việc đã được dùng để phát triển thiết bị Android.

Nếu cần, bạn có thể tải Eclipse IDE cho nhà phát triển Java xuống từ: eclipse.org/downloads

Tạo dự án

  1. Chạy lệnh 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.
  2. Đặt biến đường dẫn lớp TRADEFED_ROOT trong Window > Preferences > Java > Build Path> Classpath Variables và trỏ biến này đến thư mục gốc nguồn tradefed
  3. Đặt biến đường dẫn TRADEFED_ROOT trong Window > Preferences > General > Workspace > Linked Resources và trỏ biến này đến thư mục gốc nguồn tradefed
  4. Sử dụng trình hướng dẫn File > Import...-> General > Existing Projects into workspace" để đưa các dự án Java mã nguồn mở này vào 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
    
  5. Nếu muốn xem mã nguồn ddmlib, bạn có thể đính kèm mã nguồn từ một nhánh công cụ chưa được kết hợp, chẳng hạn như /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.

  6. Nếu bạn cũng muốn tải các dự án CTS harness, hãy nhập:

    test/suite_harness/common/util
    test/suite_harness/common/host-side/util
    test/suite_harness/common/host-side/tradefed
    

Định dạng tự động

LƯU Ý: Các tệp bắt buộc nằm trong development/ide/eclipse trong cây nguồn nền tảng đầy đủ. Vì vậy, bạn sẽ cần kiểm tra một nhánh nền tảng như android-latest-release để lấy các tệp này: /development/android16-release/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 về kiểu Android. Cách thực hiện trong Studio:

  1. Chuyển đến Window > Preferences > Java > Code Style (Cửa sổ > Lựa chọn ưu tiên > Java > Kiểu mã).
  2. Trong Formatter, hãy nhập tệp android-formatting.xml.
  3. Trong phần Organize > 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:

  1. Chuyển đến Window > Preferences -> Java -> Editor -> Save Actions (Cửa sổ > Lựa chọn ưu tiên > Java > Trình chỉnh sửa > Thao tác lưu).
  2. Sau đó, chọn Additional Actions -> Configure -> Code > Organizing tab -> Formatter (Các thao tác khác -> Định cấu hình -> Mã > Thẻ sắp xếp -> Trình định dạng).
  3. Chọn Remove Trailing Whitespace (Xoá khoảng trắng ở cuối).
  4. Nhấp vào Áp dụng và đóng.

Kiểm tra kiểu mã

Khi bạn gửi một danh sách thay đổi, một hook tự động trước khi tải lên sẽ chạy để kiểm tra định dạng mã của bạn: google-java-format

Điều này giúp định dạng mã của bạn 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, bạn nên tạo trước một bài kiểm thử đơn vị cho mã được đề cập vì đây sẽ là cách đơn giản và nhanh nhất để thực hiện chức năng này.

Để gỡ lỗi một 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 một kiểm thử chức năng TF, hãy làm theo hướng dẫn trong phần trước để chạy một 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 một kiểm thử chức năng nhưng cung cấp các đối số dòng lệnh cho cấu hình mà 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 Eclipse thành -- package <package to run> instrument.

Gỡ lỗi từ xa bằng Eclipse

Làm theo các bước sau để gỡ lỗi từ xa một phiên tradefed bắt đầu từ dòng lệnh tradefed.sh:

  1. Khởi động tradefed.sh bằng cờ gỡ lỗi: TF_DEBUG=1 tradefed.sh
  2. Đợi 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 đợi trình gỡ lỗi đính kèm tại cổng 10088.
  3. Gắn bằng tính năng gỡ lỗi từ xa của Eclipse trong trình đơn chính: Chọn Run > Debug Configurations... (Chạy > Cấu hình gỡ lỗi...).
  4. Trong hộp thoại bật lên, hãy chọn Ứng dụng Java từ xa trong trình đơn bên trái.
  5. Nhấp vào biểu tượng Cấu hình khởi chạy mới trên thanh thao tác.
  6. Đặt tên cho cấu hình theo ý muốn và chọn tradefederation làm dự án.
  7. Điền sẵn cổng bằng địa chỉ đã cung cấp trước đó.
  8. Chuyển sang thẻ Source (Nguồn) rồi thêm các dự án tradefederationgoogle-tradefed vào Source Lookup Path (Đường dẫn tìm kiếm nguồn).
  9. Nhấp vào Debug (Gỡ lỗi) để bắt đầu phiên gỡ lỗi.

Trình gỡ lỗi sẽ đính kèm vào quy trình JVM đang lắng nghe và thiết bị đầu cuối chạy tradefed.sh sẽ cho thấy lời nhắc tf>.

Để từng bước thực hiện mã ở chế độ gỡ lỗi, hãy đặt mộ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, trước tiên, bạn có thể đặt điểm ngắt rồi đính kèm trình gỡ lỗi Eclipse.

LƯU Ý: Để sử dụng một cổng thay thế, hãy thêm TF_DEBUG_PORT=nnn vào lệnh ở bước 1 nêu 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 có 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:

  1. Bắt đầu tradefed.sh bằng cờ gỡ lỗi: TF_DEBUG=1 tradefed.sh
  2. Chờ cho đến khi bạn thấy lời nhắc từ JVM: Listening for transport dt_socket at address: 10088.
  3. Kết nối jdb. Ví dụ: từ lệnh croot:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. 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ã

  1. Cài đặt trình bổ trợ Eclemma.
  2. Chuyển đến Trợ giúp > Cài đặt phần mềm mới rồi chỉ định trình hướng dẫn đến: http://update.eclemma.org/
  3. Sau khi cài đặt, hãy chọn lựa chọn kiểm thử Coverage As > JUnit (Độ bao phủ dưới dạng > JUnit) để tiến hành chạy độ bao phủ mã.