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(Map<String, String> buildAttributes)

添加 build 属性

void allowStagingRemoteFile(boolean stageRemoteFile)

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

void cleanUp()

清理所有临时 build 文件

void cleanUp(List<File> doNotClean)

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

IBuildInfo clone()

final void copyAllFileFrom(BuildInfo build)

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

boolean equals(Object obj)

static IBuildInfo fromProto(BuildInformation.BuildInfo protoBuild)

toProto() 相反的操作,用于恢复实例。

List<VersionedFile> getAppPackageFiles()

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

Map<String, String> 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 的文件的辅助方法。

Collection<VersionedFile> getFiles()

返回此 BuildInfo 中存储的所有 VersionedFile

Set<IBuildInfo.BuildInfoProperties> getProperties()

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

Set<File> getRemoteFiles()

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

String getTestTag()

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

String getVersion(BuildInfoKey.BuildInfoFileKey key)

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

String getVersion(String name)

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

VersionedFile getVersionedFile(BuildInfoKey.BuildInfoFileKey key)

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

final VersionedFile getVersionedFile(String name)

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

Set<String> getVersionedFileKeys()

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

final List<VersionedFile> 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(BuildInfoKey.BuildInfoFileKey key, File file, String version)

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

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

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

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 属性、分支和 build 变体的辅助方法。

void addAllFiles(BuildInfo build)

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

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

允许应用部分 IBuildInfo.BuildInfoProperties,并可能进行不同的处理。

MultiMap<String, String> getAttributesMultiMap()
Map<String, VersionedFile> 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 文件及其关联的版本。请注意,apk 将按通过此方法添加的顺序从 getAppPackageFiles() 返回。

参数
appPackageFile File

version String

addBuildAttribute

public 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 void cleanUp ()

清理所有临时 build 文件

cleanUp

public void cleanUp (List<File> doNotClean)

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

参数
doNotClean List

clone

public IBuildInfo clone ()

返回
IBuildInfo

copyAllFileFrom

public final void copyAllFileFrom (BuildInfo build)

将指定 build 中的所有 VersionedFile 复制到当前 build。

参数
build BuildInfo

等于

public boolean equals (Object obj)

参数
obj Object

返回
boolean

fromProto

public static IBuildInfo fromProto (BuildInformation.BuildInfo protoBuild)

toProto() 相反的操作,用于恢复实例。

参数
protoBuild BuildInformation.BuildInfo

返回
IBuildInfo

getAppPackageFiles

public List<VersionedFile> getAppPackageFiles ()

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

返回
List<VersionedFile>

getBuildAttributes

public Map<String, String> getBuildAttributes ()

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

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

getBuildBranch

public String getBuildBranch ()

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

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

getBuildFlavor

public String getBuildFlavor ()

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

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

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

getBuildId

public String getBuildId ()

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

返回
String

getBuildTargetName

public String getBuildTargetName ()

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

一种常见的实现方式是,通过组合 build 变种和分支名称来构建 build 目标名称。[例如(分支名称)-(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 Collection<VersionedFile> getFiles ()

返回此 BuildInfo 中存储的所有 VersionedFile

返回
Collection<VersionedFile>

getProperties

public Set<IBuildInfo.BuildInfoProperties> getProperties ()

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

返回
Set<IBuildInfo.BuildInfoProperties>

getRemoteFiles

public Set<File> getRemoteFiles ()

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

返回
Set<File>

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)

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

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

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

getVersionedFile

public final VersionedFile getVersionedFile (String name)

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

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

getVersionedFileKeys

public Set<String> getVersionedFileKeys ()

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

返回
Set<String>

getVersionedFiles

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

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

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

返回
List<VersionedFile> 版本化文件或 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 (BuildInfoKey.BuildInfoFileKey key, 
                File file, 
                String version)

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

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

file File:本地 File

version String:文件版本

setFile

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

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

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

file File:本地 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:用于暂存文件的目录的 File 对象。

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

toProto

public BuildInformation.BuildInfo toProto ()

将 BuildInfo 实例序列化为 protobuf。

返回
BuildInformation.BuildInfo

toString

public String toString ()

返回
String

受保护的方法

addAllBuildAttributes

protected void addAllBuildAttributes (BuildInfo build)

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

参数
build BuildInfo

addAllFiles

protected void addAllFiles (BuildInfo build)

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

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

参数
build BuildInfo

抛出
IOException 如果在创建硬链接时抛出异常。

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 Map<String, VersionedFile> getVersionedFileMap ()

返回
Map<String, VersionedFile>

getVersionedFileMapFull

protected MultiMap<String, VersionedFile> getVersionedFileMapFull ()

返回
MultiMap<String, VersionedFile>