2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
Eclipse の設定
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Eclipse を使用して Tradefed をセットアップする手順は次のとおりです。
Trade Federation を開発するには、専用のワークスペースを作成します。すでに Android デバイスの開発に使用しているワークスペースは再利用しないでください。
Eclipse IDE for Java Developers が必要な場合は、eclipse.org/downloads からダウンロードできます。
プロジェクトを作成する
- コマンドラインで make を 1 回実行します。これにより外部ライブラリが生成され、以下のプロジェクトの依存関係として使用されます。
Window > Preferences > Java > Build
Path> Classpath Variables
で TRADEFED_ROOT クラスパス変数を tradefed ソースのルートとして設定します。
Window > Preferences > General >
Workspace > Linked Resources
で TRADEFED_ROOT パス変数を、tradefed ソースのルートとして設定します。
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
(省略可)ddmlib
ソースコードを確認する場合は、バンドルされていないツールブランチ(/platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java など)から、ソースコードをアタッチします。
(省略可)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 の環境設定ファイルを使用して、Android スタイルガイドに自動フォーマッタを設定します。Studio でこれを行う手順は次のとおりです。
- [Window] > [Preferences] > [Java] > [Code Style] を開きます。
- [Formatter] で、ファイル
android-formatting.xml
をインポートします。
- [Organize] > [Imports] で、ファイル
android.importorder
をインポートします。
末尾の空白文字を削除する
Eclipse で末尾の空白文字をすべて削除するには:
- [Window] > [Preferences] -> [Java] -> [Editor] -> [Save Actions] を開きます。
- 次に、[Additional Actions] -> [Configure] -> [Code] > [Organizing] タブ -> [Formatter] を開きます。
- [Remove Trailing Whitespace] をオンにします。
- [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 セッションをリモートでデバッグするには:
- デバッグフラグ
TF_DEBUG=1 tradefed.sh
を指定して tradefed.sh を開始します。
- JVM から
Listening for transport
dt_socket at address: 10088
というプロンプトが表示されるまで待ちます。これは、JVM がポート 10088
でデバッガの接続を待機していることを意味します。
- メインメニューから Eclipse のリモート デバッグを使用して接続します。[Run] > [Debug Configurations...] を選択します。
- ポップアップ ダイアログで、左側のメニューから [Remote Java Application] を選択します。
- アクションバーの New launch configuration アイコンをクリックします。
- 構成に任意の名前を付け、プロジェクトとして [tradefederation] を選択します。
- 前に指定したアドレスを使用してポートに値を入力します。
- [Source] タブに切り替えて、[Source Lookup Path] にプロジェクト tradefederation および google-tradefed を追加します。
- [Debug] をクリックしてデバッグ セッションを開始します。
リッスンしている JVM プロセスにデバッガが接続し、tradefed.sh
を実行しているターミナルに tf>
プロンプトが表示されます。
デバッグモードでコードをステップ実行するには、Eclipse でブレーク ポイントを設定し、ターミナルで Tradefed コマンド(例: run <test>
)を呼び出します。TF の開始時になんらかのデバッグを行うには、まずブレーク ポイントを設定してから、Eclipse デバッガを接続します。
ヒント: 代替ポートを使用するには、上記のステップ 1 のコマンドに TF_DEBUG_PORT=nnn
を追加します。本番環境で不明なハングバグを調査する場合も、これを使用できます。tradefed.sh
の suspend=y
を suspend=n
に変更し、デバッグフラグを指定して起動します。JVM はデバッガの接続を待機しませんが、プロセスが実行中である限り、いつでもデバッガを接続することが可能です。
JDB を使用したリモート デバッグ
Java デバッガ JDB を使用する手順は、Eclipse の場合の手順に似ています。
- デバッグフラグ
TF_DEBUG=1 tradefed.sh
を指定して tradefed.sh
を起動します。
- JVM から
Listening for transport dt_socket
at address: 10088
というプロンプトが表示されるまで待ちます。
jdb
を接続します。たとえば、croot から下記を実行します。
jdb -attach 10088 \
-sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
接続とデバッグが終了するまで待ちます。詳しいヘルプが必要な場合は、man jdb
を実行します。
コード カバレッジを調べる
- Eclemma プラグインをインストールします。
- [Help] > [Install New Software] を開き、ウィザードで http://update.eclemma.org/ を指定します。
- インストールが完了したら、[Coverage As] > [JUnit] テスト オプションを選択して、コード カバレッジを実行します。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-26 UTC。"],[],[],null,["# Set up Eclipse\n\nFollow these steps to set up Tradefed using Eclipse.\n\nCreate a separate workspace to develop Trade Federation, do not reuse a\nworkspace already employed for Android-device development.\n\nIf needed, you can download the *Eclipse IDE for Java developers* from:\n[eclipse.org/downloads](https://www.eclipse.org/downloads/)\n\nCreate projects\n---------------\n\n1. Run make once from the command line. This will build external libraries depended by the projects below.\n2. Set TRADEFED_ROOT classpath variable in `Window \u003e Preferences \u003e Java \u003e Build\n Path\u003e Classpath Variables` and point it to your tradefed source root\n3. Set TRADEFED_ROOT path variable in `Window \u003e Preferences \u003e General \u003e\n Workspace \u003e Linked Resources` and point it to your tradefed source root\n4. Use the `File \u003e Import...-\u003e General \u003e Existing Projects into\n workspace\"`wizard to bring in these open source Java projects under the\n following paths:\n\n prebuilts/misc/common/ddmlib\\*\n tools/loganalysis\n tools/loganalysis/tests\n tools/tradefederation/core\n tools/tradefederation/core/tests\n tools/tradefederation/contrib\n tools/tradefederation/core/remote\n platform_testing/libraries/health/runners/longevity/host\n platform_testing/libraries/annotations\n platform_testing/libraries/health/composers/host\n\n5. Optionally, if you want to see `ddmlib` source code, attach the source code\n from an unbundled tools branch, such as [/platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java](https://android.googlesource.com/platform/tools/base/+/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java).\n\n6. Optionally, if you also want the CTS harness projects loaded, import:\n\n test/suite_harness/common/util\n test/suite_harness/common/host-side/util\n test/suite_harness/common/host-side/tradefed\n\nAuto format\n-----------\n\nNOTE: Requisite files live within `development/ide/eclipse` in the full platform\nsource tree. So you will need to check out a platform branch such as\n`android-latest-release` to get these files:\n[/development/android16-release/ide/eclipse/](https://android.googlesource.com/platform/development/+/refs/heads/android16-release/ide/eclipse/)\n\nUse preference files in Eclipse to automatically set the formatter to the\nAndroid style guide. To do this in Studio:\n\n1. Go to *Window \\\u003e Preferences \\\u003e Java \\\u003e Code Style*.\n2. Under *Formatter* , import the file `android-formatting.xml`.\n3. Under *Organize \\\u003e Imports* , import the file `android.importorder`.\n\n### Remove trailing whitespaces\n\nTo force Eclipse to remove all trailing whitespace:\n\n1. Go to *Window \\\u003e Preferences -\\\u003e Java -\\\u003e Editor -\\\u003e Save Actions*.\n2. Then *Additional Actions -\\\u003e Configure -\\\u003e Code \\\u003e Organizing tab -\\\u003e\n Formatter*.\n3. Check **Remove Trailing Whitespace**.\n4. Click **Apply and Close**.\n\n### Check code style\n\nWhen submitting a changelist, an automatic preupload hook will run to check your\ncode format: `google-java-format`\n\nThis helps formatting your code to the common standard.\n\nDebug Eclipse\n-------------\n\nIf you want to run TF code through a debugger in Eclipse, it is recommended you\nfirst create a unit test for the code in question as this will be the simplest\nand fastest way to exercise the functionalilty.\n\nTo debug a TF unit test, simply right-click on it and select **Debug As \\\u003e JUnit\ntest**.\n\nTo debug a TF functional test, follow the instructions in the previous section\nfor running a functional test but use the *Run \\\u003e Debug configurations* menu.\n\nTo debug the TF program itself, when running any configuration, follow the\ninstructions in the previous section for running a functional test but provide\nthe command line arguments for the configuration you wish to run in step 4. So\nto debug the 'instrument' configuration, go to the *Run \\\u003e Debug configuration*\nmenu and set the *Arguments* tab in the Eclipse debug configuration to\n`-- package \u003cpackage to run\u003e instrument`.\n\n### Remote debug with Eclipse\n\nFollow these steps to remotely debug a tradefed session started from\n`tradefed.sh` command line:\n\n1. Start tradefed.sh with the debug flag: `TF_DEBUG=1 tradefed.sh`\n2. Wait until you see this prompt from the JVM: `Listening for transport\n dt_socket at address: 10088` This means the JVM is waiting for debugger to attach at port `10088`.\n3. Attach with Eclipse's remote debugging from main menu: Select *Run \\\u003e Debug\n Configurations...*.\n4. In the pop-up dialog, select *Remote Java Application* from the left menu.\n5. Click the *New launch configuration* icon on the action bar.\n6. Name the configuration as you desire and select **tradefederation** as the project.\n7. Populate the port using the address provided earlier.\n8. Switch to the *Source* tab and add the projects **tradefederation** and **google-tradefed** to the *Source Lookup Path*.\n9. Click **Debug** to start the debugging session.\n\nThe debugger attaches to the listening JVM process, and the terminal running\n`tradefed.sh` shows the `tf\u003e` prompt.\n\nTo step through your code in debug mode, set a break point in Eclipse and invoke\nyour Tradefed command (i.e. `run \u003ctest\u003e`) in the terminal. To debug anything\nduring TF startup, you can set the break point first and then attach the Eclipse\ndebugger.\n\nTIP: To use an alternative port, add `TF_DEBUG_PORT=nnn`to the command in step 1\nabove. You can even use this in production environment if you have mysterious\nhang bugs to investigate: change `suspend=y` to `suspend=n` in `tradefed.sh` and\nstart with debug flag. The JVM won't wait for debugger to attach, but you can do\nso at any time as long as the process is still running.\n\n### Remote debug using JDB\n\nTo use the Java Debugger JDB, follow steps resembling those for Eclipse:\n\n1. Start `tradefed.sh` with the debug flag: `TF_DEBUG=1 tradefed.sh`\n2. Wait until you see the prompt from JVM: `Listening for transport dt_socket\n at address: 10088`.\n3. Connect `jdb`. For example, from croot run:\n\n jdb -attach 10088 \\\n -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src\n\n4. Wait for the connection and debug away! Run `man jdb` for more help.\n\nExamine code coverage\n---------------------\n\n1. Install the [Eclemma plugin](https://www.eclemma.org/).\n2. Go to *Help \\\u003e Install New Software* and point the wizard to: http://update.eclemma.org/\n3. Once installed, select the *Coverage As \\\u003e JUnit* test option to conduct a code coverage run."]]