build 信息

public class BuildInfo
extends Object implements IBuildInfo

java.lang.Object
   ↳ com.android.tradefed.build.BuildInfo


应与 ITestDevice 相关联的 IBuildInfo 的通用实现。

摘要

公共构造函数

BuildInfo()

使用默认属性值创建 BuildInfo

BuildInfo(String buildId, String buildTargetName)

创建 BuildInfo

公共方法

void addAppPackageFile(File appPackageFile, String version)

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

void addBuildAttribute(String attributeName, String attributeValue)

添加 build 属性。

void addBuildAttributes( buildAttributes)

添加 build 属性

void allowStagingRemoteFile(boolean stageRemoteFile)

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

void cleanUp()

清理所有临时 build 文件

void cleanUp( doNotClean)

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

IBuildInfo clone()

final void copyAllFileFrom(BuildInfo build)

将给定 build 中的所有 VersionedFile 复制到此 build。

boolean equals(Object obj)

static IBuildInfo fromProto(BuildInformation.BuildInfo protoBuild)

toProto() 执行反向操作以恢复实例。

getAppPackageFiles()

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

getBuildAttributes()

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

String getBuildBranch()

用于返回被测 build 的来源代码库分支的可选方法。

String getBuildFlavor()

用于返回被测 build 类型的可选方法。

String getBuildId()

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

String getBuildTargetName()

返回要测试的 build 的完整名称。

String getDeviceSerial()

File getFile(String name)

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

File getFile(BuildInfoKey.BuildInfoFileKey key)

用于检索给定 BuildInfoFileKey 的文件的辅助方法。

getFiles()

返回此 BuildInfo 中存储的所有 VersionedFile

getProperties()

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

getRemoteFiles()

获取延迟下载的 build 工件的路径。

String getTestTag()

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

String getVersion(BuildInfoKey.BuildInfoFileKey key)

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

String getVersion(String name)

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

VersionedFile getVersionedFile(BuildInfoKey.BuildInfoFileKey key)

用于使用给定 BuildInfoFileKey 检索 VersionedFile 的辅助方法。

final VersionedFile getVersionedFile(String name)

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

getVersionedFileKeys()

返回可通过 getFile(BuildInfoFileKey) 查询 VersionedFile 的一组键。

final getVersionedFiles(BuildInfoKey.BuildInfoFileKey key)

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

int hashCode()

void removeBuildAttribute(String attributeName)

从跟踪中移除指定的 attributeName。

void setBuildBranch(String branch)

设置 build 分支

void setBuildFlavor(String buildFlavor)

设置 build 变种。

void setBuildId(String buildId)

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

void setDeviceSerial(String serial)

设置与此 build 关联的 ITestDevice 序列号。

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

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

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

在此 build 信息中根据 BuildInfoFileKey 存储文件。

void setProperties(BuildInfoProperties... properties)

IBuildInfo 实例设置 BuildInfoProperties

void setTestTag(String testTag)

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

File stageRemoteFile(String fileName, File workingDir)

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

BuildInformation.BuildInfo toProto()

将 BuildInfo 实例序列化为 protobuf。

String toString()

受保护的方法

void addAllBuildAttributes(BuildInfo build)

用于从其他 build 复制 build 属性、分支和变种的辅助方法。

void addAllFiles(BuildInfo build)

用于从其他 build 复制所有文件的辅助方法。

boolean applyBuildProperties(VersionedFile origFileConsidered, IBuildInfo build, IBuildInfo receiver)

允许应用某些 IBuildInfo.BuildInfoProperties,并可能执行不同的处理。

MultiMap<String, String> getAttributesMultiMap()
getVersionedFileMap()
MultiMap<String, VersionedFile> getVersionedFileMapFull()

公共构造函数

build 信息

public BuildInfo ()

使用默认属性值创建 BuildInfo

build 信息

public BuildInfo (String buildId, 
                String buildTargetName)

创建 BuildInfo

参数
buildId String:build ID

buildTargetName String:build 目标名称

公共方法

addAppPackageFile

public void addAppPackageFile (File appPackageFile, 
                String version)

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

参数
appPackageFile File

version String

addBuildAttribute

public void addBuildAttribute (String attributeName, 
                String attributeValue)

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

参数
attributeName String:具有唯一性的属性名称

attributeValue String:属性值

addBuildAttributes

public void addBuildAttributes ( buildAttributes)

添加 build 属性

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

allowStagingRemoteFile

public void allowStagingRemoteFile (boolean stageRemoteFile)

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

参数
stageRemoteFile boolean

cleanUp

public void cleanUp ()

清理所有临时 build 文件

cleanUp

public void cleanUp ( doNotClean)

某些文件不会被删除的 cleanUp() 版本。

参数
doNotClean

clone

public IBuildInfo clone ()

返回
IBuildInfo

copyAllFileFrom

public final void copyAllFileFrom (BuildInfo build)

将给定 build 中的所有 VersionedFile 复制到此 build 中。

参数
build BuildInfo

equals

public boolean equals (Object obj)

参数
obj Object

返回
boolean

fromProto

public static IBuildInfo fromProto (BuildInformation.BuildInfo protoBuild)

toProto() 执行反向操作以恢复实例。

参数
protoBuild BuildInformation.BuildInfo

返回
IBuildInfo

getAppPackageFiles

public  getAppPackageFiles ()

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

返回

getBuildAttributes

public  getBuildAttributes ()

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

返回
build 属性的 ERROR(/Map)。不得为 null,但可以为空。

getBuildBranch

public String getBuildBranch ()

用于返回被测 build 的来源代码控制分支的可选方法。

返回
String build 分支或 null(如果未设置/不适用)

getBuildFlavor

public String getBuildFlavor ()

用于返回被测 build 类型的可选方法。

Android 平台 build 的常见实现是返回 (build product)-(build os)-(build variant)。ie generic-linux-userdebug

返回
String build 变种或 null(如果未设置/不适用)

getBuildId

public String getBuildId ()

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

返回
String

getBuildTargetName

public String getBuildTargetName ()

返回要测试的 build 的完整名称。

常见的实现是通过构建变种和分支名称的组合来构建 build 目标名称。[即 (branch name)-(build flavor)]

返回
String

getDeviceSerial

public String getDeviceSerial ()

返回
String

getFile

public File getFile (String name)

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

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

getFile

public File getFile (BuildInfoKey.BuildInfoFileKey key)

用于检索给定 BuildInfoFileKey 的文件的辅助方法。

参数
key BuildInfoKey.BuildInfoFileKey:请求的 BuildInfoFileKey

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

getFiles

public  getFiles ()

返回此 BuildInfo 中存储的所有 VersionedFile

返回

getProperties

public  getProperties ()

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

返回

getRemoteFiles

public  getRemoteFiles ()

获取延迟下载的 build 工件的路径。

返回

getTestTag

public String getTestTag ()

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

返回
String

getVersion

public String getVersion (BuildInfoKey.BuildInfoFileKey key)

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

参数
key BuildInfoKey.BuildInfoFileKey:请求的 BuildInfoFileKey

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

getVersion

public String getVersion (String name)

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

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

getVersionedFile

public VersionedFile getVersionedFile (BuildInfoKey.BuildInfoFileKey key)

用于使用给定 BuildInfoFileKey 检索 VersionedFile 的辅助方法。

参数
key BuildInfoKey.BuildInfoFileKey:请求的 BuildInfoFileKey

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

getVersionedFile

public final VersionedFile getVersionedFile (String name)

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

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

getVersionedFileKeys

public  getVersionedFileKeys ()

返回可通过 getFile(BuildInfoFileKey) 查询 VersionedFile 的一组键。

返回

getVersionedFiles

public final  getVersionedFiles (BuildInfoKey.BuildInfoFileKey key)

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

参数
key BuildInfoKey.BuildInfoFileKey:请求的 BuildInfoFileKey

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

hashCode

public int hashCode ()

返回
int

removeBuildAttribute

public void removeBuildAttribute (String attributeName)

从跟踪中移除指定的 attributeName。

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

setBuildBranch

public void setBuildBranch (String branch)

设置 build 分支

参数
branch String:分支名称

setBuildFlavor

public void setBuildFlavor (String buildFlavor)

设置 build 变种。

setBuildId

public void setBuildId (String buildId)

设置要测试的 build 的唯一标识符。不得为 null。

参数
buildId String

setDeviceSerial

public void setDeviceSerial (String serial)

设置与此 build 关联的 ITestDevice 序列号。

参数
serial String:用于执行此 build 的 ITestDevice 的序列号。

setFile

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

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

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

file File:本地 ERROR(/File)

version String:文件版本

setFile

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

在此 build 信息中根据 BuildInfoFileKey 存储文件。

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

file File:本地 ERROR(/File)

version String:文件版本

setProperties

public void setProperties (BuildInfoProperties... properties)

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

参数
properties BuildInfoProperties:要添加的媒体资源列表。

setTestTag

public void setTestTag (String testTag)

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

参数
testTag String

stageRemoteFile

public File stageRemoteFile (String fileName, 
                File workingDir)

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

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

参数
fileName String:要位于远程文件中的文件的名称。

workingDir File:要将文件暂存到其中的目录的 ERROR(/File) 对象。

返回
File 在本地 workingDir 中暂存的文件的 ERROR(/File) 对象。

toProto

public BuildInformation.BuildInfo toProto ()

将 BuildInfo 实例序列化为 protobuf。

返回
BuildInformation.BuildInfo

toString

public String toString ()

返回
String

受保护的方法

addAllBuildAttributes

protected void addAllBuildAttributes (BuildInfo build)

用于从其他 build 复制 build 属性、分支和变种的辅助方法。

参数
build BuildInfo

addAllFiles

protected void addAllFiles (BuildInfo build)

用于从其他 build 复制所有文件的辅助方法。

为文件创建新的硬链接,以便每个 build 都有指向文件的唯一文件路径。

参数
build BuildInfo

抛出
创建硬链接时抛出异常。

applyBuildProperties

protected boolean applyBuildProperties (VersionedFile origFileConsidered, 
                IBuildInfo build, 
                IBuildInfo receiver)

允许应用某些 IBuildInfo.BuildInfoProperties,并可能执行其他处理。

参数
origFileConsidered VersionedFile:当前查看的 VersionedFile

build IBuildInfo:要克隆的原始 build

receiver IBuildInfo:接收信息的 build。

返回
boolean 如果我们应用了属性,并且应跳过进一步处理,则为 true。否则为 false。

getAttributesMultiMap

protected MultiMap<String, String> getAttributesMultiMap ()

返回
MultiMap<String, String>

getVersionedFileMap

protected  getVersionedFileMap ()

返回

getVersionedFileMapFull

protected MultiMap<String, VersionedFile> getVersionedFileMapFull ()

返回
MultiMap<String, VersionedFile>