在 Tradefed 中構建信息

TF 中的Build Info是一個廣泛使用的對象,用於攜帶用於測試設置和運行的資源。從設備圖像到測試 APK 的所有內容都存儲或鏈接在要查找的構建信息中。這允許以統一的方式從測試中訪問測試資源,並將測試與獲取測試資源分離。

構建信息屬性

構建信息對象的兩個主要屬性是屬性和文件:

  • 屬性- 可以通過#addBuildAttribute()添加;它們代表構建的標籤和字符串信息。屬性可用於存儲與構建相關的信息。
  • 文件:可以通過setFile()添加;該文件將在調用生命週期期間由 Build Info 跟踪和管理(例如,在分片期間正確處理)。這避免了測試需要了解有關文件系統的任何信息,而是可以簡單地依賴抽象的 Build Info 對象來獲取它們的資源。

注意:文件應始終存儲在Files中,而不是作為絕對路徑存儲在Attributes中。屬性被視為純 Java 字符串,並且引用可能在調用生命週期的一部分期間失效。

在多設備中構建信息

當使用多個設備設置測試配置時,每個設備將存在一個 Build Info 對象。這允許從一台設備向另一台設備請求和定位文件。

多構建中的構建信息

可能需要來自多個目標的構建。在這些情況下,每個目標將存在一個 Build Info 對象。這允許從任何目標請求和定位文件。

原型格式

Build Info 可以以 protobuf 格式序列化,以便在需要時更輕鬆地跨系統使用。