Tradefed 中的 BuildInfo

TF 中的 BuildInfo 是一个广泛使用的对象,用于承载测试设置和运行所需的资源。从设备映像到测试 APK 的所有内容都需要存储或链接在 BuildInfo 中。这允许以一种统一的方式从测试访问测试资源,并将测试与获取测试资源分离开来。

BuildInfo 属性

BuildInfo 对象的两个主要属性是属性和文件:

  • 属性可以使用 #addBuildAttribute() 添加;它们表示 build 的标签和字符串信息。属性可用于存储与 build 相关的信息。
  • 文件可以使用 setFile() 添加;在调用生命周期内,文件由 BuildInfo 进行跟踪和管理(例如,在分片期间正确处理)。这样一来,测试就不需要了解关于文件系统的任何信息,而是可以直接依赖抽象的 BuildInfo 对象来获取其资源。

多设备中的 BuildInfo

如果设置的测试配置涉及多个设备,每个设备都存在一个 BuildInfo 对象。这允许在设备之间请求和定位文件。

多 build 中的 BuildInfo

可能需要来自多个目标的 build。在这些情况下,每个目标都存在一个 BuildInfo 对象。这允许从任何目标请求和定位文件。

Proto 格式

BuildInfo 可采用 protobuf 格式序列化,以便在需要时更容易跨系统使用。