[[["わかりやすい","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,["# 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."]]