Starting March 27, 2025, we recommend using android-latest-release instead of aosp-main to build and contribute to AOSP. For more information, see Changes to AOSP.
Stay organized with collections
Save and categorize content based on your preferences.
BuildInfo
in TF is a widely used object to carry resources for test setup and runs.
Everything from device images to test APKs are stored or linked in BuildInfo.
This allows a unified way to access test resources from a test
and decouple the test from getting test resources.
BuildInfo properties
The two main properties of BuildInfo objects are attributes and files:
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.
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.
BuildInfo in multi-devices
When a test configuration is set up with multiple devices, one BuildInfo
object exists per device. This allows requesting and targeting files from one
device to another.
BuildInfo in multi-builds
It's possible to require builds from several targets. In these cases, one
BuildInfo object exists per target. This allows requesting and targeting
files from any target.
Proto format
BuildInfo is serializable in a protobuf format to make its usage easier across
systems if needed.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-06-18 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-18 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."]]