TF의 BuildInfo는 테스트 설정 및 실행을 위한 리소스를 전달하기 위한 용도로 널리 사용되는 객체입니다.
기기 이미지에서 테스트 APK에 이르는 모든 정보가 BuildInfo에 저장 또는 링크되어 있습니다.
이는 테스트에서 테스트 리소스에 액세스하고 테스트 리소스를 가져오는 과정에서 테스트를 분리하기 위한 통합된 방식을 제공합니다.
BuildInfo 속성
BuildInfo 객체의 두 가지 기본 속성은 속성과 파일입니다.
#addBuildAttribute()를 사용하여 속성을 추가할 수 있습니다. 속성은 빌드의 라벨과 문자열 정보를 나타냅니다. 속성은 빌드와 관련된 정보를 저장하는 데 사용할 수 있습니다.
setFile()를 사용하여 파일을 추가할 수 있습니다. 파일은 호출 수명 주기 도중에 BuildInfo에 의해 추적 및 관리됩니다 (예: 샤딩 도중에 제대로 처리됨). 이렇게 하면 테스트가 파일 시스템에 관해 아무것도 알아야 할 필요가 없으며 대신 추상화된 BuildInfo 객체에만 의존하여 리소스를 가져올 수 있습니다.
여러 기기의 BuildInfo
여러 기기로 테스트 구성이 설정되면 기기당 하나의 BuildInfo 객체가 존재합니다. 이렇게 하면 기기에서 다른 기기로 파일을 요청하고 타겟팅할 수 있습니다.
여러 빌드의 BuildInfo
여러 타겟에서 빌드를 요구하는 것이 가능합니다. 이 경우 타겟당 하나의 BuildInfo 객체가 존재합니다. 이렇게 하면 파일을 모든 타겟에서 요청하고 타겟팅할 수 있습니다.
Proto 형식
필요한 경우 BuildInfo를 protobuf 형식으로 직렬화하여 시스템 전체에서 더욱 쉽게 사용할 수 있습니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","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(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."]]