build 信息
public
class
BuildInfo
extends Object
implements
IBuildInfo
| java.lang.Object | |
| ↳ | com.android.tradefed.build.BuildInfo |
应与 ITestDevice 关联的 IBuildInfo 的通用实现。
摘要
公共构造函数 | |
|---|---|
BuildInfo()
使用默认属性值创建 |
|
BuildInfo(String buildId, String buildTargetName)
创建 |
|
公共方法 | |
|---|---|
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)
|
IBuildInfo
|
clone()
|
final
void
|
copyAllFileFrom(BuildInfo build)
将指定 build 中的所有 |
boolean
|
equals(Object obj)
|
static
IBuildInfo
|
fromProto(BuildInformation.BuildInfo protoBuild)
与 |
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)
用于检索具有指定 |
Collection<VersionedFile>
|
getFiles()
返回此 |
Set<IBuildInfo.BuildInfoProperties>
|
getProperties()
返回 |
Set<File>
|
getRemoteFiles()
获取延迟下载的 build 制品的路径。 |
String
|
getTestTag()
返回正在运行的测试的唯一名称。 |
String
|
getVersion(BuildInfoKey.BuildInfoFileKey key)
用于检索具有指定 |
String
|
getVersion(String name)
用于检索具有指定名称的文件版本的辅助方法。 |
VersionedFile
|
getVersionedFile(BuildInfoKey.BuildInfoFileKey key)
用于检索具有指定 |
final
VersionedFile
|
getVersionedFile(String name)
用于检索具有指定名称的 |
Set<String>
|
getVersionedFileKeys()
返回可通过 |
final
List<VersionedFile>
|
getVersionedFiles(BuildInfoKey.BuildInfoFileKey key)
用于检索与给定 |
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 关联的 |
void
|
setFile(BuildInfoKey.BuildInfoFileKey key, File file, String version)
在此 build 信息中存储给定 |
void
|
setFile(String name, File file, String version)
在此 build 信息中存储具有指定名称的文件。 |
void
|
setProperties(BuildInfoProperties... properties)
为 |
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)
允许应用部分 |
MultiMap<String, String>
|
getAttributesMultiMap()
|
Map<String, VersionedFile>
|
getVersionedFileMap()
|
MultiMap<String, VersionedFile>
|
getVersionedFileMapFull()
|
公共构造函数
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 文件
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 |
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)
用于检索具有给定 BuildInfoFileKey 的 VersionedFile 的辅助方法。
| 参数 | |
|---|---|
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> |
|