在 Tradefed 中构建信息

TF 中的Build Info是一个广泛使用的对象,用于携带用于测试设置和运行的资源。从设备图像到测试 APK 的所有内容都存储或链接在要查找的构建信息中。这允许以统一的方式从测试中访问测试资源,并将测试与获取测试资源分离。

构建信息属性

构建信息对象的两个主要属性是属性和文件:

  • 属性- 可以通过#addBuildAttribute()添加;它们代表构建的标签和字符串信息。属性可用于存储与构建相关的信息。
  • 文件:可以通过setFile()添加;该文件将在调用生命周期期间由 Build Info 跟踪和管理(例如,在分片期间正确处理)。这避免了测试需要了解有关文件系统的任何信息,而是可以简单地依赖抽象的 Build Info 对象来获取它们的资源。

注意:文件应始终存储在Files中,而不是作为绝对路径存储在Attributes中。属性被视为纯 Java 字符串,并且引用可能在调用生命周期的一部分期间失效。

在多设备中构建信息

当使用多个设备设置测试配置时,每个设备将存在一个 Build Info 对象。这允许从一台设备向另一台设备请求和定位文件。

多构建中的构建信息

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

原型格式

Build Info 可以以 protobuf 格式序列化,以便在需要时更轻松地跨系统使用。