از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
تهیه کنندگان هدف
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
آمادهکنندگان هدف قبل از آزمونها در سطح آزمونی که در آن تعریف شدهاند فراخوانی میشوند. این اجازه می دهد تا هر دستگاهی را برای تست ها به خوبی اجرا کنید.
رابط پایه
رابط پایه ITargetPreparer
است که به اجرای یک روش setUp
اجازه می دهد. توصیه می کنیم کلاس انتزاعی پایه خود را BaseTargetPreparer
پیاده سازی کنید، که یک ویژگی غیرفعال سازی داخلی را برای غیرفعال کردن آسان یک آماده کننده ارائه می دهد.
رابط تمیزتر
پسوند طبیعی setUp
tearDown
است و توسط یک رابط متفاوت، ITargetCleaner
ارائه شده است. این رابط کاربری tearDown
را فراهم می کند که اجازه می دهد تا هر چیزی را که در setUp
پس از اجرای آزمایش انجام شده است تمیز کنید.
کلاس BaseTargetPreparer
همچنین ITargetCleaner
را گسترش می دهد.
توصیه ها
ما توصیه می کنیم که هر آماده کننده به یک عملکرد اصلی محدود شود، به عنوان مثال نصب یک APK یا اجرای یک فرمان. این امکان استفاده مجدد آسان تر از آماده کننده ها را فراهم می کند.
همچنین لیست آمادهکنندههای موجود را قبل از افزودن یک آمادهکننده جدید بررسی کنید تا از تکرار کار جلوگیری کنید. آمادهکنندهها در 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>
همچنین برای زمینه به تنظیم مجموعه ها مراجعه کنید.
راه اندازی در سطح بالا
اگر در تنظیمات سطح بالا مشخص شده باشد، آمادهکننده فقط یک بار برای هر دستگاه اجرا میشود. یک مثال cts-common.xml
است که یک راهاندازی سطح بالا برای تستهای مجموعه تست سازگاری Android (CTS) است.
راه اندازی در سطح ماژول
اگر در سطح ماژول مشخص شده باشد، آماده کننده همیشه قبل از آن ماژول اجرا می شود. یک مثال backup/AndroidTest.xml
است که نحوه اجرای ماژول CTS backup
توسط Tradefed تعریف می کند.
توجه داشته باشید که در حالی که آمادهکننده قبل از ماژول اجرا میشود، پس از بررسیکننده وضعیت سیستم اجرا میشود.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],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)."]]