IBuildInfo

public interface IBuildInfo
implements Serializable

com.android.tradefed.build.IBuildInfo


包含有关被测 build 的信息。

摘要

常量

String REMOTE_FILE_PREFIX

名称中使用的前缀,用于指示文件设置为延迟下载。

String REMOTE_FILE_VERSION

远程文件未进行版本控制。

String UNKNOWN_BUILD_ID

当 build ID 未知时的默认值。

公共方法

default void addAppPackageFile(File appPackageFile, String version)

添加本地 APK 文件及其关联的版本。

abstract void addBuildAttribute(String attributeName, String attributeValue)

添加 build 属性。

default void addBuildAttributes(Map<String, String> buildAttributes)

添加 build 属性

default void allowStagingRemoteFile(boolean stageRemoteFile)

设置权限以允许暂存远程文件。

abstract void cleanUp()

清理所有临时 build 文件

abstract void cleanUp(List<File> doNotDelete)

cleanUp() 的版本,其中某些文件未被删除。

abstract IBuildInfo clone()

克隆 IBuildInfo 对象。

default List<VersionedFile> getAppPackageFiles()

获取一组本地应用 APK 文件及其版本的副本。

abstract Map<String, String> getBuildAttributes()

获取一组描述 build 的其他属性的名称-值对。

abstract String getBuildBranch()

一种可选方法,用于返回正在测试的 build 的来源控制分支。

abstract String getBuildFlavor()

用于返回正在测试的 build 类型的可选方法。

abstract String getBuildId()

返回被测 build 的唯一标识符。

abstract String getBuildTargetName()

返回正在测试的 build 的完整名称。

abstract String getDeviceSerial()
abstract File getFile(String name)

用于检索具有指定名称的文件的辅助方法。

default File getFile(BuildInfoKey.BuildInfoFileKey key)

用于检索具有指定 BuildInfoFileKey 的文件的辅助方法。

abstract Collection<VersionedFile> getFiles()

返回此 BuildInfo 中存储的所有 VersionedFile

abstract Set<IBuildInfo.BuildInfoProperties> getProperties()

返回 IBuildInfo 上当前设置的属性的副本。

default Set<File> getRemoteFiles()

获取延迟下载的 build 制品的路径。

abstract String getTestTag()

返回正在运行的测试的唯一名称。

default String getVersion(BuildInfoKey.BuildInfoFileKey key)

用于检索具有指定 BuildInfoFileKey 的文件版本的辅助方法。

abstract String getVersion(String name)

用于检索具有指定名称的文件版本的辅助方法。

default VersionedFile getVersionedFile(BuildInfoKey.BuildInfoFileKey key)

用于检索具有指定 BuildInfoFileKeyVersionedFile 的辅助方法。

default VersionedFile getVersionedFile(String name)

用于检索具有指定名称的 VersionedFile 的辅助方法。

default Set<String> getVersionedFileKeys()

返回可通过 getFile(BuildInfoFileKey) 查询 VersionedFile 的可用键集。

default List<VersionedFile> getVersionedFiles(BuildInfoKey.BuildInfoFileKey key)

用于检索与给定 BuildInfoFileKey 关联的 VersionedFile 列表的辅助方法。

default void removeBuildAttribute(String attributeName)

从跟踪中移除给定的 attributeName。

abstract void setBuildBranch(String branch)

设置 build 分支

abstract void setBuildFlavor(String buildFlavor)

设置 build 变种。

abstract void setBuildId(String buildId)

设置被测 build 的唯一标识符。

abstract void setDeviceSerial(String serial)

设置与相应 build 关联的 ITestDevice 序列。

default void setFile(BuildInfoKey.BuildInfoFileKey key, File file, String version)

在此 build 信息中存储给定 BuildInfoFileKey 的文件。

abstract void setFile(String name, File file, String version)

在此 build 信息中存储具有指定名称的文件。

abstract void setProperties(BuildInfoProperties... properties)

IBuildInfo 实例设置 BuildInfoProperties

abstract void setTestTag(String testTag)

为正在运行的测试设置唯一名称。

default File stageRemoteFile(String fileName, File workingDir)

暂存 build 信息根目录中属于远程文件的文件。

default BuildInformation.BuildInfo toProto()

将 BuildInfo 实例序列化为 protobuf。

常量

REMOTE_FILE_PREFIX

public static final String REMOTE_FILE_PREFIX

名称中使用的前缀,用于指示文件设置为延迟下载。

常量值: "remote_file:"

REMOTE_FILE_VERSION

public static final String REMOTE_FILE_VERSION

远程文件未进行版本控制。

常量值: ""

UNKNOWN_BUILD_ID

public static final String UNKNOWN_BUILD_ID

当 build ID 未知时的默认值。

常量值: "-1"

公共方法

addAppPackageFile

public void addAppPackageFile (File appPackageFile, 
                String version)

添加本地 APK 文件及其关联的版本。请注意,apk 将按通过此方法添加的顺序从 getAppPackageFiles() 返回。

参数
appPackageFile File

version String

addBuildAttribute

public abstract void addBuildAttribute (String attributeName, 
                String attributeValue)

添加 build 属性。这不允许替换现有的 attributeName。

参数
attributeName String:唯一属性名称

attributeValue String:属性值

addBuildAttributes

public void addBuildAttributes (Map<String, String> buildAttributes)

添加 build 属性

参数
buildAttributes Map:要添加的属性的映射

allowStagingRemoteFile

public void allowStagingRemoteFile (boolean stageRemoteFile)

设置权限以允许暂存远程文件。

参数
stageRemoteFile boolean

cleanUp

public abstract void cleanUp ()

清理所有临时 build 文件

cleanUp

public abstract void cleanUp (List<File> doNotDelete)

版本 cleanUp(),其中某些文件未被删除。

参数
doNotDelete List

clone

public abstract IBuildInfo clone ()

克隆 IBuildInfo 对象。

返回
IBuildInfo

getAppPackageFiles

public List<VersionedFile> getAppPackageFiles ()

获取一组本地应用 APK 文件及其版本的副本。返回的顺序与将 APK 添加到 IAppBuildInfo 的顺序一致。

返回
List<VersionedFile>

getBuildAttributes

public abstract Map<String, String> getBuildAttributes ()

获取一组描述 build 的其他属性的名称-值对。

返回
Map<String, String> build 属性的 Map。不会是 null,但可能为空。

getBuildBranch

public abstract String getBuildBranch ()

一种可选方法,用于返回正在测试的 build 的来源控制分支。

返回
String build 分支,如果未设置/不适用,则为 null

getBuildFlavor

public abstract String getBuildFlavor ()

用于返回正在测试的 build 类型的可选方法。

Android 平台 build 的常见实现是返回(build 产品)-(build 操作系统)-(build 变体)。 即 generic-linux-userdebug

返回
String build flavor;如果未设置/不适用,则为 null

getBuildId

public abstract String getBuildId ()

返回被测 build 的唯一标识符。不应为 null。默认为 UNKNOWN_BUILD_ID

返回
String

getBuildTargetName

public abstract String getBuildTargetName ()

返回正在测试的 build 的完整名称。

一种常见的实现方式是,通过组合 build 变种和分支名称来构建 build 目标名称。[例如(分支名称)-(build flavor)]

返回
String

getDeviceSerial

public abstract String getDeviceSerial ()

返回
String 相应 build 的执行序列号。ITestDevice如果没有设备与相应 build 相关联,则返回 null

getFile

public abstract File getFile (String name)

用于检索具有指定名称的文件的辅助方法。

返回
File 图片文件或 null(如果找不到)

getFile

public File getFile (BuildInfoKey.BuildInfoFileKey key)

用于检索具有指定 BuildInfoFileKey 的文件的辅助方法。

参数
key BuildInfoKey.BuildInfoFileKey:所请求的 BuildInfoFileKey

返回
File 图片文件或 null(如果找不到)

getFiles

public abstract Collection<VersionedFile> getFiles ()

返回此 BuildInfo 中存储的所有 VersionedFile

返回
Collection<VersionedFile>

getProperties

public abstract Set<IBuildInfo.BuildInfoProperties> getProperties ()

返回 IBuildInfo 上当前设置的属性的副本。

返回
Set<IBuildInfo.BuildInfoProperties>

getRemoteFiles

public Set<File> getRemoteFiles ()

获取延迟下载的 build 制品的路径。

返回
Set<File>

getTestTag

public abstract String getTestTag ()

返回正在运行的测试的唯一名称。

返回
String

getVersion

public String getVersion (BuildInfoKey.BuildInfoFileKey key)

用于检索具有指定 BuildInfoFileKey 的文件版本的辅助方法。

参数
key BuildInfoKey.BuildInfoFileKey:所请求的 BuildInfoFileKey

返回
String 映像版本,如果未找到,则为 null

getVersion

public abstract String getVersion (String name)

用于检索具有指定名称的文件版本的辅助方法。

返回
String 映像版本,如果未找到,则为 null

getVersionedFile

public VersionedFile getVersionedFile (BuildInfoKey.BuildInfoFileKey key)

用于检索具有给定 BuildInfoFileKeyVersionedFile 的辅助方法。

参数
key BuildInfoKey.BuildInfoFileKey:所请求的 BuildInfoFileKey

返回
VersionedFile 版本化文件或 null(如果找不到)

getVersionedFile

public VersionedFile getVersionedFile (String name)

用于检索具有指定名称的 VersionedFile 的辅助方法。

返回
VersionedFile 版本化文件或 null(如果找不到)

getVersionedFileKeys

public Set<String> getVersionedFileKeys ()

返回可通过 getFile(BuildInfoFileKey) 查询 VersionedFile 的可用键集。

返回
Set<String>

getVersionedFiles

public List<VersionedFile> getVersionedFiles (BuildInfoKey.BuildInfoFileKey key)

用于检索与给定 BuildInfoFileKey 关联的 VersionedFile 列表的辅助方法。如果键允许存储列表。

参数
key BuildInfoKey.BuildInfoFileKey:所请求的 BuildInfoFileKey

返回
List<VersionedFile> 版本化文件或 null(如果找不到)

removeBuildAttribute

public void removeBuildAttribute (String attributeName)

从跟踪中移除给定的 attributeName。

参数
attributeName String:要停止跟踪的属性

setBuildBranch

public abstract void setBuildBranch (String branch)

设置 build 分支

参数
branch String:分支名称

setBuildFlavor

public abstract void setBuildFlavor (String buildFlavor)

设置 build 变种。

setBuildId

public abstract void setBuildId (String buildId)

设置被测 build 的唯一标识符。绝不应为 null。

参数
buildId String

setDeviceSerial

public abstract void setDeviceSerial (String serial)

设置与相应 build 关联的 ITestDevice 序列。

参数
serial String:执行相应 build 时所用的 ITestDevice 的序列号。

setFile

public void setFile (BuildInfoKey.BuildInfoFileKey key, 
                File file, 
                String version)

在此 build 信息中存储给定 BuildInfoFileKey 的文件。

参数
key BuildInfoKey.BuildInfoFileKey:基于 BuildInfoFileKey 的文件的唯一名称。

file File:本地 File

version String:文件版本

setFile

public abstract void setFile (String name, 
                File file, 
                String version)

在此 build 信息中存储具有指定名称的文件。

参数
name String:文件的唯一名称

file File:本地 File

version String:文件版本

setProperties

public abstract void setProperties (BuildInfoProperties... properties)

IBuildInfo 实例设置 BuildInfoProperties。替换之前设置的所有现有属性。

参数
properties BuildInfoProperties:要添加的属性的列表。

setTestTag

public abstract void setTestTag (String testTag)

为正在运行的测试设置唯一名称。

参数
testTag String

stageRemoteFile

public File stageRemoteFile (String fileName, 
                File workingDir)

在 build 信息的根目录中暂存属于远程文件的文件。

TODO(b/138416078):当测试所需的模块可以正确构建输出到测试模块的目录本身时,移除此接口及其调用方。

参数
fileName String:要查找的远程文件中的文件名称。

workingDir File:用于暂存文件的目录的 File 对象。

返回
File 本地 workingDir 中暂存的文件的 File 对象。

toProto

public BuildInformation.BuildInfo toProto ()

将 BuildInfo 实例序列化为 protobuf。

返回
BuildInformation.BuildInfo