اعتبارًا من 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
،
الذي يحدّد كيفية تشغيل Tradefed لمكوّن backup
CTS.
يُرجى العلم أنّه على الرغم من أنّ أداة الإعداد يتم تشغيلها قبل الوحدة، يتم تشغيلها بعد أي
أدوات التحقّق من حالة النظام.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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)."]]