設定 Eclipse

請按照下列步驟使用 Eclipse 設定 Tradefed。

建立獨立工作區來開發貿易聯盟,不要重複使用 工作空間已用於開發 Android 裝置。

如有需要,您可以從以下位置下載 Java 開發人員適用的 Eclipse IDEeclipse.org/downloads

建立專案

  1. 透過指令列執行 make 一次。這會建構外部程式庫 範例專案取決於下列專案
  2. Window > Preferences > Java > Build Path> Classpath Variables 中設定 TRADEFED_ROOT 類別路徑變數,然後將其指向換購來源根目錄
  3. Window > Preferences > General > Workspace > Linked Resources 中設定 TRADEFED_ROOT 路徑變數,然後將其指向換購來源根目錄
  4. 使用 File > Import...-> General > Existing Projects into workspace" 精靈將這些開放原始碼 Java 專案匯入 路徑:

    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. (選用) 如要查看 ddmlib 原始碼,請附加原始碼 ,從零組工具分支版本 (例如 /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java) 中取得。

  6. 如要一併載入 CTS 管理專案,請視需要匯入:

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

自動格式

注意:必要檔案在完整平台的 development/ide/eclipse 內 來源樹狀結構。因此,您需要查看平台分支版本,例如 main 如何取得這些檔案: /development/main/ide/eclipse/

使用 Eclipse 中的偏好設定檔自動將 formatter 設定為 Android 樣式指南。如要在 YouTube 工作室中執行這項操作,請按照下列步驟操作:

  1. 前往 [視窗] >偏好設定 >Java >程式碼樣式
  2. 在「Formatter」下方,匯入 android-formatting.xml 檔案。
  3. 在「整理 >匯入,匯入 android.importorder 檔案。

移除結尾的空白字元

如何強制 Eclipse 移除所有結尾的空白字元:

  1. 前往 [視窗] >偏好設定 ->Java ->編輯器 ->儲存動作
  2. 然後是「其他動作」->設定 ->程式碼 >正在整理分頁 -> 格式器
  3. 勾選「移除結尾空白字元」
  4. 按一下「套用並關閉」

檢查程式碼樣式

提交變更清單時,系統會自動執行預先上傳掛鉤,以便檢查您的 程式碼格式:google-java-format

這有助於將您的程式碼格式設定為符合通用標準的格式。

對 Eclipse 進行偵錯

如要透過 Eclipse 中的偵錯工具執行 TF 程式碼,建議您 請先為相關程式碼建立單元測試,因為這種做法最簡單 且最快的執行方法

如要對 TF 單元測試偵錯,只需在 TF 單元測試上按一下滑鼠右鍵,然後選取「Debug As」Debug As > 即可JUnit 測試

如要對 TF 功能測試進行偵錯,請按照前一節的說明操作 執行功能測試,但請在「執行」>偵錯設定選單。

如要對 TF 程式本身進行偵錯,請在執行任何設定時按照 瞭解如何執行功能測試 。以下內容 對「instrument」偵錯前往「Run」(執行) >「Run」(執行) > 偵錯設定 並將 Eclipse 偵錯設定中的「Arguments」分頁設為 -- package <package to run> instrument

使用 Eclipse 進行遠端偵錯

請按照下列步驟,對用於交易工作階段展開的遠端偵錯 tradefed.sh 指令列:

  1. 使用偵錯旗標啟動 Tradefed.sh 網址:TF_DEBUG=1 tradefed.sh
  2. 等待 JVM 顯示以下提示:Listening for transport dt_socket at address: 10088 這表示 JVM 正在等待偵錯工具 位於通訊埠 10088
  3. 從主選單附加 Eclipse 的遠端偵錯功能:選取 執行 >偵錯 設定...
  4. 在彈出式對話方塊中,從左側選單中選取「Remote Java Application」
  5. 按一下動作列中的「New launch configuration」圖示。
  6. 視需要命名設定,然後選取「tradefederation」做為 專案。
  7. 使用稍早提供的位址填入通訊埠。
  8. 切換至「Source」分頁,然後新增專案策略google-tradefed 改為「來源查詢路徑」
  9. 按一下「Debug」開始偵錯工作階段。

偵錯工具會附加到監聽的 JVM 程序,而終端機正在 tradefed.sh 會顯示 tf> 提示。

如要在偵錯模式中逐步執行程式碼,請在 Eclipse 中設定中斷點並叫用 您在終端機中填寫換購指令 (例如 run <test>)。偵錯 在 TF 啟動期間,您可以先設定中斷點,然後再 偵錯工具

提示:如要使用替代通訊埠,請在步驟 1 的指令中加入 TF_DEBUG_PORT=nnn 。甚至能在正式環境中使用 請懸掛錯誤來調查:將 tradefed.sh 中的 suspend=y 變更為 suspend=n,以及 開頭是偵錯標記JVM 不會等待系統附加偵錯工具,但您可以這麼做 所以只要該程序仍在執行即可

使用 JDB 進行遠端偵錯

如要使用 Java Debugger JDB,請按照類似 Eclipse 的步驟執行:

  1. 使用偵錯標記啟動 tradefed.shTF_DEBUG=1 tradefed.sh
  2. 等待 JVM 顯示提示:Listening for transport dt_socket at address: 10088
  3. 連結「jdb」。例如,從 croot 執行:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. 請等待連線完成,然後進行偵錯!執行 man jdb 以取得進一步協助。

檢查程式碼涵蓋率

  1. 安裝 Eclemma 外掛程式
  2. 前往「說明」>安裝新軟體,讓精靈指向: http://update.eclemma.org/
  3. 安裝後,選取 Google 涵蓋範圍 >JUnit用來執行 執行程式碼涵蓋率