اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release بدلاً من aosp-main لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
BuildInfo
في TF، هو عنصر يُستخدَم على نطاق واسع لنقل الموارد لإعداد الاختبار وتنفيذه.
يتم تخزين أو ربط كل شيء في BuildInfo، بدءًا من صور الأجهزة ووصولاً إلى حِزم APK الاختبارية.
يتيح ذلك طريقة موحّدة للوصول إلى موارد الاختبار من اختبار
وفصل الاختبار عن الحصول على موارد الاختبار.
سمات BuildInfo
السمتَان الرئيسيتان لعناصر BuildInfo هما السمات والملفات:
يمكن إضافة السمات باستخدام #addBuildAttribute()، وهي تمثّل
التصنيفات ومعلومات السلاسل إلى النُسخ. يمكن استخدام السمات لتخزين
المعلومات المتعلّقة بالإصدار.
يمكن إضافة الملفات باستخدام setFile()، وتتم تتبُّع الملفات وإدارتها من خلال BuildInfo أثناء دورة الاستدعاء (على سبيل المثال، تتم إدارتها بشكل صحيح أثناء التجزئة). ويؤدي ذلك إلى عدم الحاجة إلى معرفة الاختبار لأي شيء عن نظام الملفات، ويمكنه بدلاً من ذلك الاعتماد على
عنصر BuildInfo المجمّع للحصول على موارده.
BuildInfo في أجهزة متعددة
عند إعداد اختبار على أجهزة متعددة، يظهر BuildInfo
عنصر واحد لكل جهاز. يتيح ذلك طلب الملفات واستهدافها من جهاز
إلى آخر.
BuildInfo في عمليات الإنشاء المتعدّدة
من الممكن طلب إصدارات من عدة أهداف. في هذه الحالات، يتوفّر كائن
BuildInfo واحد لكلّ هدف. يتيح ذلك طلب
الملفات واستهدافها من أيّ هدف.
تنسيق Proto
يمكن تسلسل BuildInfo بتنسيق protobuf لتسهيل استخدامه على مستوى
الأنظمة إذا لزم الأمر.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ 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,["# BuildInfo in Tradefed\n\n[`BuildInfo`](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/build/BuildInfo.java)\nin TF is a widely used object to carry resources for test setup and runs.\nEverything from device images to test APKs are stored or linked in `BuildInfo`.\nThis allows a unified way to access test resources from a test\nand decouple the test from getting test resources.\n\nBuildInfo properties\n--------------------\n\nThe two main properties of `BuildInfo` objects are attributes and files:\n\n- *Attributes* can be added with `#addBuildAttribute()`; they represent labels and string information to the builds. Attributes can be used to store information related to the build.\n- *Files* can be added with `setFile()`; the file is tracked and managed by `BuildInfo` during the invocation lifecycle (for example, properly handled during sharding). This avoids the need for the test to know anything about the file system and instead can rely on the abstracted `BuildInfo` object to get their resources.\n\n| **Note:** Files should always be stored in `Files` and not in `Attributes` as an absolute path. Attributes are treated as pure Java strings, and the reference could be invalidated during part of the invocation lifecycle.\n\nBuildInfo in multi-devices\n--------------------------\n\nWhen a test configuration is set up with multiple devices, one `BuildInfo`\nobject exists per device. This allows requesting and targeting files from one\ndevice to another.\n\nBuildInfo in multi-builds\n-------------------------\n\nIt's possible to require builds from several targets. In these cases, one\n`BuildInfo` object exists per target. This allows requesting and targeting\nfiles from any target.\n\nProto format\n------------\n\n`BuildInfo` is serializable in a protobuf format to make its usage easier across\nsystems if needed."]]