2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
ターゲット作成ツール
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
ターゲット作成ツールは、ツールが定義されているテストレベルのテストの前に呼び出されます。そのため、テストを実施する任意のデバイスをスムーズに設定できます。
ベース インターフェース
ベース インターフェースは ITargetPreparer
であり、実行する setUp
メソッドを実装できます。基本的な抽象クラスである BaseTargetPreparer
の実装をおすすめします。組み込まれている無効化機能により、作成ツールを簡単に無効化できます。
クリーナー インターフェース
setUp
の自然拡張は tearDown
であり、別のインターフェースの ITargetCleaner
によって提供されます。提供された tearDown
インターフェースによって、setUp
で設定した内容をテスト実施後に削除できます。
BaseTargetPreparer
クラスも ITargetCleaner
を拡張します。
おすすめ
各作成ツールは、APK のインストールやコマンドの実行など、1 つの main 関数のみに限定することをおすすめします。これによって作成ツールを再利用しやすくなります。
また、重複を避けるため、新しい作成ツールを追加する前に利用可能な作成ツールのリストを確認してください。作成ツールは tools/tradefederation/core/src/com/android/tradefed/targetprep/
からご利用いただけます。
XML 設定
オブジェクト タグは target_preparer
です。次に例を示します。
<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
<option name="install-arg" value="-d"/>
</target_preparer>
また、コンテキストについてはスイートを設定するをご覧ください。
トップレベル設定
トップレベル設定で指定したターゲット作成ツールは、各デバイスに対して 1 回のみ実行されます。たとえば、cts-common.xml
は Android 互換性テストスイート(CTS)テスト用のトップレベル設定です。
モジュール レベルの設定
モジュール レベルで指定したターゲット作成ツールは、常にそのモジュールの前に実行されます。たとえば、backup/AndroidTest.xml
は Tradefed が backup
CTS モジュールをどのように実行するかを定義します。
ターゲット作成ツールはモジュールの前に実行されますが、システム ステータス チェッカーの後に実行されることに注意してください。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。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,["# Target preparers are invoked before the tests in the\n[test level](/docs/core/tests/tradefed/testing/through-suite/setup#definitions)\nin which they are defined. This allows the setup of any device for tests to run\nsmoothly.\n\nBase interface\n--------------\n\nThe base interface is\n[`ITargetPreparer`](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/targetprep/ITargetPreparer.java),\nwhich allows implementation of a `setUp` method to be executed. We\nrecommend implementing our basic abstract class\n[`BaseTargetPreparer`](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/targetprep/BaseTargetPreparer.java),\nwhich provides a built-in disablement feature to easily disable a preparer.\n\nCleaner interface\n-----------------\n\nThe natural extension of `setUp` is `tearDown` and is provided by a different\ninterface,\n[`ITargetCleaner`](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/targetprep/ITargetCleaner.java). That provides the `tearDown` interface\nthat allows cleaning up anything that was done in `setUp` after the test\nexecution.\n\nThe `BaseTargetPreparer` class also extends `ITargetCleaner`.\n\nRecommendations\n---------------\n\nWe recommend each preparer be limited to a single main function, for example\ninstalling an APK or running a command. This allows for easier reuse of\npreparers.\n\nAlso check the list of available preparers before adding a new one to\navoid duplicating work. Preparers are available in [`tools/tradefederation/core/src/com/android/tradefed/targetprep/`](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/targetprep/).\n\nXML configuration\n-----------------\n\nThe object tag is `target_preparer`, for example: \n\n \u003ctarget_preparer class=\"com.android.tradefed.targetprep.InstallApkSetup\"\u003e\n \u003coption name=\"install-arg\" value=\"-d\"/\u003e\n \u003c/target_preparer\u003e\n\nAlso refer to\n[Set up suites](/docs/core/tests/tradefed/testing/through-suite/setup)\nfor context.\n\n### Top-level setup\n\nIf specified in a top-level setup, the preparer runs only once for each\ndevice. An example is\n[`cts-common.xml`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tools/cts-tradefed/res/config/cts-common.xml),\nwhich is a top-level setup for Android Compatibility Test Suite (CTS) tests.\n\n### Module-level setup\n\nIf specified at the module level, the preparer always runs before that\nmodule. An example is\n[`backup/AndroidTest.xml`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/backup/AndroidTest.xml),\nwhich defines how Tradefed runs the `backup` CTS module.\n\nNote that while the preparer runs before the module, it runs *after* any\n[system status checkers](/docs/core/tests/tradefed/testing/through-suite/system-status-checker)."]]