Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

Eclipse を設定する

Eclipse を使用して Tradefed を設定する手順は次のとおりです。

別のワークスペースを作成して Trade Federation を開発します。すでに Android デバイスの開発に使用されているワークスペースは再利用しないでください。

必要に応じて、eclipse.org/downloads から Eclipse IDE for Java Developers をダウンロードできます。

プロジェクトを作成する

  1. コマンドラインから make を 1 回実行します。これにより、以下のプロジェクトに依存する外部ライブラリが作成されます。
  2. Window > Preferences > Java > Build Path> Classpath Variables で TRADEFED_ROOT クラスパス変数を設定し、tradefed ソースルートを指定します。
  3. Window > Preferences > General > Workspace > Linked Resources で TRADEFED_ROOT パス変数を設定し、tradefed ソースルートを指定します。
  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/longevity
        platform_testing/libraries/annotations
        platform_testing/libraries/composer
        
  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 内にあります。そのため、これらのファイルを取得するには、master のようなプラットフォーム ブランチを確認する必要があります: /development/master/ide/eclipse/

Eclipse の設定ファイルを使用して、フォーマッタを自動的に Android スタイルガイドに設定します。これを Studio で行う手順は次のとおりです。

  1. [Window] > [Preferences] > [Java] > [Code Style] を開きます。
  2. [Formatter] で、ファイル android-formatting.xml をインポートします。
  3. [Organize] > [Imports] で、ファイル android.importorder をインポートします。

末尾の空白文字を削除する

Eclipse で末尾の空白文字をすべて削除する手順は次のとおりです。

  1. [Window] > [Preferences] -> [Java] -> [Editor] -> [Save Actions] を開きます。
  2. [Additional Actions] -> [Configure] -> [Code] > [Organizing] タブ -> [Formatter] と進みます。
  3. [Remove Trailing Whitespace] にチェックを入れます。
  4. [Apply and Close] をクリックします。

コードスタイルをチェックする

変更リストを送信すると、自動プリアップロード フックが実行されて、コード形式(google-java-format)がチェックされます。

これにより、コードを共通の標準形式に設定できます。

Eclipse をデバッグする

Eclipse でデバッガを使用して TF コードを実行する場合は、まず対象のコードの単体テストを作成することをおすすめします。これは機能を実行する最も簡単かつ最速の方法です。

TF 単体テストをデバッグするには、単に右クリックし、[Debug As] > [JUnit test] を選択します。

TF 機能テストをデバッグするには、機能テストの実行に関する前のセクションの手順に従いますが、[Run] > [Debug configurations] メニューを使用します。

TF プログラム自体をデバッグするには、機能テストの実行に関する前のセクションの手順に従いますが、ステップ 4 で実行する設定のコマンドライン引数を指定します。そのため、「instrument」設定をデバッグするには、[Run] > [Debug configuration] メニューを開き、Eclipse デバッグ設定の [Arguments] タブを -- package <package to run> instrument に設定します。

Eclipse でのリモート デバッグ

tradefed.sh コマンドラインから開始した tradefed セッションをリモートでデバッグする手順は次のとおりです。

  1. デバッグフラグ TF_DEBUG=1 tradefed.sh を指定して tradefed.sh を開始します。
  2. JVM から Listening for transport dt_socket at address: 10088 というプロンプトが表示されるまで待ちます。これは、JVM がポート 10088 でデバッガの接続を待機していることを意味します。
  3. メインメニューから Eclipse のリモート デバッグを使用して接続します。[Run] > [Debug Configurations...] を選択します。
  4. ポップアップ ダイアログで、左側のメニューから [Remote Java Application] を選択します。
  5. アクションバーの New launch configuration アイコンをクリックします。
  6. 設定に必要な名前を付け、プロジェクトとして [tradefederation] を選択します。
  7. 前述のアドレスを使用してポートにデータを入力します。
  8. [Source] タブに切り替え、[Source Lookup Path] にプロジェクト tradefederationgoogle-tradefed を追加します。
  9. [Debug] をクリックしてデバッグ セッションを開始します。

デバッガがリッスンしている JVM プロセスに接続し、tradefed.sh を実行しているターミナルに tf> というプロンプトが表示されます。

デバッグモードでコードをステップ実行するには、Eclipse でブレーク ポイントを設定し、ターミナルで Tradefed コマンド(例: run <test>)を呼び出します。TF 起動時になんらかのデバッグを行うには、まずブレーク ポイントを設定してから、Eclipse デバッガを接続します。

ヒント: 代替のポートを使用するには、上記のステップ 1 のコマンドに TF_DEBUG_PORT=nnn を追加します。不明なハングバグを調査する場合、本番環境でも使用できます。tradefed.shsuspend=ysuspend=n に変更し、デバッグフラグを指定して開始します。JVM はデバッガの接続を待機しませんが、プロセスがまだ実行中であればいつでも実施できます。

JDB を使用したリモート デバッグ

Java デバッガ JDB を使用する手順は、Eclipse の場合の手順に似ています。

  1. デバッグフラグ TF_DEBUG=1 tradefed.sh を指定して 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. [Help] > [Install New Software] を開き、ウィザードで http://update.eclemma.org/ を指定します。
  3. インストールしたら、[Coverage As] > [JUnit] テスト オプションを選択してコード カバレッジ実行を行います。