CdmaDeviceFlasher

public class CdmaDeviceFlasher
extends FastbootDeviceFlasher

java.lang.Object
   ↳ com.android.tradefed.targetprep.FastbootDeviceFlasher
     ↳ com.android.tradefed.targetprep.CdmaDeviceFlasher


用于在具有 CDMA 无线电的实体 Android 设备上刷写映像的类。

此类是必需的,因为需要特殊的刷写序列才能正确更新无线电基带,因为通常情况下,无线电和引导加载程序无法直接通信。通常,它们使用 RIL(在用户空间中运行)作为代理。

摘要

常量

int BASEBAND_FLASH_TIMEOUT

允许基带刷写的时间(在恢复模式下),以毫秒为单位

公共构造函数

CdmaDeviceFlasher()

公共方法

void flash(ITestDevice device, IDeviceBuildInfo deviceBuild)

在设备上刷写 build。

如果基带是最新的,此刷写器的行为与 DeviceFlasher 超类完全相同。

受保护的方法

File extractSystemZip(IDeviceBuildInfo deviceBuild)

将更新程序 ZIP 文件解压缩到某个目录,并返回该目录的路径

公开以进行单元测试

void flashBaseband(ITestDevice device, File basebandImageFile)

刷写给定的基带映像,之后不会重新启动设备

void flashSystem(ITestDevice device, IDeviceBuildInfo deviceBuild)

在设备上刷写系统映像。

String getBootPartitionName()

获取此设备刷写器的启动分区名称。

IRunUtil getRunUtil()

获取要使用的 RunUtil 实例。

常量

BASEBAND_FLASH_TIMEOUT

protected static final int BASEBAND_FLASH_TIMEOUT

允许基带刷写的时间(在恢复模式下),以毫秒为单位

常量值: 600000 (0x000927c0)

公共构造函数

CdmaDeviceFlasher

public CdmaDeviceFlasher ()

公共方法

Flash

public void flash (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

在设备上刷写 build。

刷写完成后立即返回。调用方应等待设备上线并可用,然后再继续测试。

如果基带是最新的,此刷写器的行为与 DeviceFlasher 超类完全相同。如果需要更新基带,系统会执行以下操作:

  1. 照常刷写引导加载程序
  2. 解压缩 updater.zip
  3. 刷写新的基带,但不要在刷写后重新启动
  4. 刷写启动分区、恢复分区和系统分区
  5. 重新启动(设备进入恢复模式以实际刷写基带)
  6. 再次重新启动
  7. 闪存 userdata
  8. 重新启动到用户空间

参数
device ITestDevice:要刷写的 ITestDevice

deviceBuild IDeviceBuildInfo:要刷写的 IDeviceBuildInfo

抛出
DeviceNotAvailableException
TargetSetupError

受保护的方法

extractSystemZip

protected File extractSystemZip (IDeviceBuildInfo deviceBuild)

将更新程序 ZIP 文件解压缩到某个目录,并返回该目录的路径

公开以进行单元测试

参数
deviceBuild IDeviceBuildInfo

返回
File

flashBaseband

protected void flashBaseband (ITestDevice device, 
                File basebandImageFile)

刷写给定基带映像,之后不会重新启动设备

参数
device ITestDevice:要刷写的 ITestDevice

basebandImageFile File:基带映像 ERROR(/File)

抛出
DeviceNotAvailableException 如果设备不可用
TargetSetupError 如果未能刷写基带

flashSystem

protected void flashSystem (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

在设备上刷写系统映像。

参数
device ITestDevice:要刷写的 ITestDevice

deviceBuild IDeviceBuildInfo:要刷写的 IDeviceBuildInfo

抛出
DeviceNotAvailableException
TargetSetupError

getBootPartitionName

protected String getBootPartitionName ()

获取此设备刷写器的启动分区名称。

默认值为“bootloader”。子类应根据需要进行替换。

返回
String

getRunUtil

protected IRunUtil getRunUtil ()

获取要使用的 RunUtil 实例。

公开以进行单元测试。

返回
IRunUtil