Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る
このページは Cloud Translation API によって翻訳されました。
Switch to English

FastbootDeviceFlasher

public class FastbootDeviceFlasher
extends Object implements IDeviceFlasher

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


物理的なAndroidハードウェアでイメージをフラッシュするためにfastbootに依存するクラス。

概要

田畑

public static final String BASEBAND_IMAGE_NAME

パブリックコンストラクター

FastbootDeviceFlasher ()

パブリックメソッド

void flash ( ITestDevice device, IDeviceBuildInfo deviceBuild)

フラッシュはデバイス上に構築されます。

CommandStatus getSystemFlashingStatus ()

プライマリシステムパーティションをフラッシュするためのコマンド実行ステータスを取得します。

IDeviceFlasher.UserDataFlashOption getUserDataFlashOption ()

ユーザーデータイメージをフラッシュ、ワイプ、または保持する必要があるかどうかを取得します

void overrideDeviceOptions ( ITestDevice device)

デバイスのオプションを上書きします。

void setDataWipeSkipList ( dataWipeSkipList) setDataWipeSkipList ( dataWipeSkipList)

/data下のパスのリストを設定して、 ITestsZipInstaller使用時に消去されないようにしITestsZipInstaller

スキップリストの粒度は/data直接の子であることに注意してください。

void setFlashOptions ( flashOptions) setFlashOptions ( flashOptions)

flash / updateコマンドで渡すオプションのリストを設定します。

void setFlashingResourcesRetriever ( IFlashingResourcesRetriever retriever)

フラッシャーがフラッシュするリソースファイルを取得できるメカニズムを設定します。

void setForceSystemFlash (boolean forceSystemFlash)

現在のビルドを実行している場合でも、システムを常にフラッシュする必要があるかどうかを設定します

void setUserDataFlashOption ( IDeviceFlasher.UserDataFlashOption flashOption)

ユーザーデータイメージをフラッシュするか、ワイプするか、保持するかを切り替えます

void setWipeTimeout (long timeout)

データを消去するためのタイムアウトを設定します。

保護されたメソッド

void checkAndFlashBaseband ( ITestDevice device, IDeviceBuildInfo deviceBuild)

必要に応じて、デバイスのベースバンドイメージをフラッシュします。

boolean checkAndFlashBootloader ( ITestDevice device, IDeviceBuildInfo deviceBuild)

必要に応じて、デバイスのブートローダーイメージをフラッシュします。

boolean checkAndFlashSystem ( ITestDevice device, String systemBuildId, String systemBuildFlavor, IDeviceBuildInfo deviceBuild)

必要に応じて、デバイスのシステムイメージをフラッシュします。

boolean checkShouldFlashBaseband ( ITestDevice device, IDeviceBuildInfo deviceBuild)

提供されたデバイスのベースバンドをフラッシュする必要があるかどうかを確認します。

IFlashingResourcesParser createFlashingResourcesParser ( IDeviceBuildInfo localBuild, DeviceDescriptor descriptor)

IFlashingResourcesParserを作成するためのファクトリメソッド。

void downloadExtraImageFiles ( IFlashingResourcesParser resourceParser, IFlashingResourcesRetriever retriever, IDeviceBuildInfo localBuild)

必要に応じて、サブクラスが追加のカスタム画像ファイルをダウンロードできるようにするフック。

void downloadFlashingResources ( ITestDevice device, IDeviceBuildInfo localBuild)

必要な追加の点滅する画像ファイルをダウンロードします

String executeFastbootCmd ( ITestDevice device, String... cmdArgs)

fastbootコマンドを実行するヘルパーメソッド。

String executeLongFastbootCmd ( ITestDevice device, String... cmdArgs)

長時間実行するfastbootコマンドを実行するヘルパーメソッド。

void flashBaseband ( ITestDevice device, File basebandImageFile)

指定されたベースバンドイメージをフラッシュし、再起動してブートローダーに戻します

void flashBootloader ( ITestDevice device, File bootloaderImageFile)

指定されたブートローダーイメージをフラッシュし、再起動してブートローダーに戻ります

void flashExtraImages ( ITestDevice device, IDeviceBuildInfo deviceBuild)

システムをフラッシュして再起動する前に、デバイス固有のパーティションをフラッシュします。

void flashPartition ( ITestDevice device, File imgFile, String partition)

デバイスの個別のパーティションをフラッシュする

void flashSystem ( ITestDevice device, IDeviceBuildInfo deviceBuild)

デバイスのシステムイメージをフラッシュします。

void flashUserData ( ITestDevice device, IDeviceBuildInfo deviceBuild)

デバイスのフラッシュuserdataパーティション。

void flashUserDataFromDeviceImageFile ( ITestDevice device, IDeviceBuildInfo deviceBuild)

デバイスのイメージファイルからuserdata.imgを抽出し、デバイスにフラッシュします

String getBootPartitionName ()

このデバイスフラッシャーのブートパーティション名を取得します。

String getBootloaderFilePrefix ( ITestDevice device)

ブートローダーファイルのプレフィックスを取得します。

String getCurrentSlot ( ITestDevice device)

現在のスロットを取得するヘルパーメソッド(A / B対応デバイスの場合)。

IFlashingResourcesRetriever getFlashingResourcesRetriever ()
String getImageVersion ( ITestDevice device, String imageName)

デバイスの現在のイメージバージョンを取得するヘルパーメソッド。

IRunUtil getRunUtil ()

テスト用に公開。

void handleUserDataFlashing ( ITestDevice device, IDeviceBuildInfo deviceBuild)

userdata / cacheパーティションのフラッシュを処理する

boolean hasPartition ( ITestDevice device, String partition)

指定されたパーティションが存在するかどうかをブートローダーで確認します

void preFlashSetup ( ITestDevice device, IDeviceBuildInfo deviceBuild)

必要な追加のフラッシュ前セットアップを実行します。

void verifyRequiredBoards ( ITestDevice device, IFlashingResourcesParser resourceParser, String deviceProductType)

デバイスの製品タイプがフラッシュ対象のビルドをサポートしていることを確認します。

void wipeCache ( ITestDevice device)

デバイスのキャッシュパーティションをワイプします。

void wipePartition ( ITestDevice device, String partition)

`fastboot erase <name>`で指定されたパーティションをワイプします

田畑

BASEBAND_IMAGE_NAME

public static final String BASEBAND_IMAGE_NAME

パブリックコンストラクター

FastbootDeviceFlasher

public FastbootDeviceFlasher ()

パブリックメソッド

閃光

public void flash ( ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

フラッシュはデバイス上に構築されます。

点滅が完了するとすぐに戻ります。呼び出し元は、デバイスがオンラインになり、テストが続行できるようになるまで待機する必要があります。

パラメーター
device ITestDevice :フラッシュするITestDevice

deviceBuild IDeviceBuildInfo :フラッシュするIDeviceBuildInfo

投げる
DeviceNotAvailableException
TargetSetupError

getSystemFlashingStatus

public CommandStatus getSystemFlashingStatus ()

プライマリシステムパーティションをフラッシュするためのコマンド実行ステータスを取得します。

システムパーティションがフラッシュされていない場合(システムにフラッシュするビルドが既にある場合)、コマンドのステータスがnullなる可能性があることに注意してください。

戻り値
CommandStatus

getUserDataFlashOption

public IDeviceFlasher.UserDataFlashOption getUserDataFlashOption ()

ユーザーデータイメージをフラッシュ、ワイプ、または保持する必要があるかどうかを取得します

戻り値
IDeviceFlasher.UserDataFlashOption ユーザーデータイメージをフラッシュ、ワイプ、または保持する必要があるかどうか

overrideDeviceOptions

public void overrideDeviceOptions ( ITestDevice device)

デバイスのオプションを上書きします。デフォルトが特定のデバイスでサポートされていない場合、デフォルトのオプション値を上書きするために使用されます。

setDataWipeSkipList

public void setDataWipeSkipList ( dataWipeSkipList)

/data下のパスのリストを設定して、 ITestsZipInstaller使用時に消去されないようにしITestsZipInstaller

スキップリストの粒度は/data直接の子であることに注意してください。

パラメーター
dataWipeSkipList

setFlashOptions

public void setFlashOptions ( flashOptions)

flash / updateコマンドで渡すオプションのリストを設定します。

setFlashingResourcesRetriever

public void setFlashingResourcesRetriever ( IFlashingResourcesRetriever retriever)

フラッシャーがフラッシュするリソースファイルを取得できるメカニズムを設定します。

パラメーター
retriever IFlashingResourcesRetriever :使用するIFlashingResourcesRetriever

setForceSystemFlash

public void setForceSystemFlash (boolean forceSystemFlash)

現在のビルドを実行している場合でも、システムを常にフラッシュする必要があるかどうかを設定します

setUserDataFlashOption

public void setUserDataFlashOption ( IDeviceFlasher.UserDataFlashOption flashOption)

ユーザーデータイメージをフラッシュするか、ワイプするか、保持するかを切り替えます

setWipeTimeout

public void setWipeTimeout (long timeout)

データを消去するためのタイムアウトを設定します。

パラメーター
timeout long

保護されたメソッド

checkAndFlashBaseband

protected void checkAndFlashBaseband ( ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

必要に応じて、デバイスのベースバンドイメージをフラッシュします。デバイスの現在のバージョンが!=必要なバージョンの場合にのみベースバンドをフラッシュします

パラメーター
device ITestDevice :フラッシュするITestDevice

deviceBuild IDeviceBuildInfo :フラッシュするベースバンドイメージを含むIDeviceBuildInfo

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError ベースバンドのフラッシュに失敗した場合

checkAndFlashBootloader

protected boolean checkAndFlashBootloader ( ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

必要に応じて、デバイスのブートローダーイメージをフラッシュします。

デバイスの現在のバージョンが!=必要なバージョンの場合にのみ、ブートローダーをフラッシュします。

パラメーター
device ITestDevice :フラッシュするITestDevice

deviceBuild IDeviceBuildInfo :フラッシュするブートローダーイメージを含むIDeviceBuildInfo

戻り値
boolean ブートローダーがフラッシュされた場合はtrue 、スキップされた場合はfalse

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError ブートローダーのフラッシュに失敗した場合

checkAndFlashSystem

protected boolean checkAndFlashSystem ( ITestDevice device, 
                String systemBuildId, 
                String systemBuildFlavor, 
                IDeviceBuildInfo deviceBuild)

必要に応じて、デバイスのシステムイメージをフラッシュします。

ERROR(/#shouldFlashSystem(String,String,com.android.tradefed.build.IDeviceBuildInfo))ご覧ください

選択したパスに関係なく、メソッド実行後、デバイスはユーザースペースで起動する必要があります。

パラメーター
device ITestDevice :フラッシュするITestDevice

systemBuildId String :デバイスで実行中の現在のビルドID

systemBuildFlavor String :デバイスで実行中の現在のビルドフレーバー

deviceBuild IDeviceBuildInfo :フラッシュするシステムイメージを含むIDeviceBuildInfo

戻り値
boolean システムがフラッシュされた場合はtrue 、スキップされた場合はfalse

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError ブートローダーのフラッシュに失敗した場合

checkShouldFlashBaseband

protected boolean checkShouldFlashBaseband ( ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

提供されたデバイスのベースバンドをフラッシュする必要があるかどうかを確認します。

パラメーター
device ITestDevice :チェックするITestDevice

deviceBuild IDeviceBuildInfo :チェックするベースバンドイメージを含むIDeviceBuildInfo

戻り値
boolean

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError ベースバンドのフラッシュに失敗した場合

createFlashingResourcesParser

protected IFlashingResourcesParser createFlashingResourcesParser ( IDeviceBuildInfo localBuild, 
                DeviceDescriptor descriptor)

IFlashingResourcesParserを作成するためのファクトリメソッド。

単体テストのために公開されています。

パラメーター
localBuild IDeviceBuildInfo :解析するIDeviceBuildInfo

descriptor DeviceDescriptor :フラッシュされるデバイスの記述子。

戻り値
IFlashingResourcesParser ファクトリメソッドによって作成されたIFlashingResourcesParser

投げる
TargetSetupError

downloadExtraImageFiles

protected void downloadExtraImageFiles ( IFlashingResourcesParser resourceParser, 
                IFlashingResourcesRetriever retriever, 
                IDeviceBuildInfo localBuild)

必要に応じて、サブクラスが追加のカスタム画像ファイルをダウンロードできるようにするフック。

パラメーター
resourceParser IFlashingResourcesParserIFlashingResourcesParser

retriever IFlashingResourcesRetrieverIFlashingResourcesRetriever

localBuild IDeviceBuildInfoIDeviceBuildInfo

投げる
TargetSetupError

downloadFlashingResources

protected void downloadFlashingResources ( ITestDevice device, 
                IDeviceBuildInfo localBuild)

必要な追加の点滅する画像ファイルをダウンロードします

パラメーター
device ITestDevice :リソースをダウンロードするためのITestDevice

localBuild IDeviceBuildInfo :入力するIDeviceBuildInfo 。デバイスイメージファイルがすでに設定されていると想定します

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError リソースの取得に失敗した場合

executeFastbootCmd

protected String executeFastbootCmd ( ITestDevice device, 
                String... cmdArgs)

fastbootコマンドを実行するヘルパーメソッド。

パラメーター
device ITestDevice :コマンドを実行するITestDevice

cmdArgs String :fastbootに提供する引数

戻り値
String 空でない場合、コマンドからのstderr出力を文字列化します。それ以外の場合はstdoutを返します一部のfastbootコマンドは、成功した場合に出力をstderrにダンプするという点で奇妙です

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError fastbootコマンドが失敗した場合

executeLongFastbootCmd

protected String executeLongFastbootCmd ( ITestDevice device, 
                String... cmdArgs)

長時間実行するfastbootコマンドを実行するヘルパーメソッド。

注:ほとんどのfastbootコマンドは通常、 ITestDevice#executeFastbootCommand(String...)許可されているタイムアウト時間内に実行されます。ただし、複数のデバイスが同時にデバイスをフラッシュしている場合、fastbootコマンドは通常よりもはるかに長くかかることがあります。

パラメーター
device ITestDevice :コマンドを実行するITestDevice

cmdArgs String :fastbootに提供する引数

戻り値
String 空でない場合、コマンドからのstderr出力を文字列化します。それ以外の場合はstdoutを返します一部のfastbootコマンドは、成功した場合に出力をstderrにダンプするという点で奇妙です

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError fastbootコマンドが失敗した場合

flashBaseband

protected void flashBaseband ( ITestDevice device, 
                File basebandImageFile)

指定されたベースバンドイメージをフラッシュし、再起動してブートローダーに戻します

パラメーター
device ITestDevice :フラッシュするITestDevice

basebandImageFile File :ベースバンド画像ERROR(/File)

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError ベースバンドのフラッシュに失敗した場合

flashBootloader

protected void flashBootloader ( ITestDevice device, 
                File bootloaderImageFile)

指定されたブートローダーイメージをフラッシュし、再起動してブートローダーに戻ります

パラメーター
device ITestDevice :フラッシュするITestDevice

bootloaderImageFile File :ブートローダーイメージのERROR(/File)

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError フラッシュに失敗した場合

flashExtraImages

protected void flashExtraImages ( ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

システムをフラッシュして再起動する前に、デバイス固有のパーティションをフラッシュします。オーバーライドされない限り、何もしません。

パラメーター
device ITestDevice :フラッシュするITestDevice

deviceBuild IDeviceBuildInfo :ビルドファイルを含むIDeviceBuildInfo

投げる
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

flashPartition

protected void flashPartition ( ITestDevice device, 
                File imgFile, 
                String partition)

デバイスの個別のパーティションをフラッシュする

パラメーター
device ITestDevice :フラッシュするITestDevice

imgFile File :フラッシュするイメージを指すERROR(/File)

partition String :フラッシュするパーティションの名前

投げる
DeviceNotAvailableException
TargetSetupError

flashSystem

protected void flashSystem ( ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

デバイスのシステムイメージをフラッシュします。

パラメーター
device ITestDevice :フラッシュするITestDevice

deviceBuild IDeviceBuildInfo :フラッシュするIDeviceBuildInfo

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError fastbootコマンドが失敗した場合

flashUserData

protected void flashUserData ( ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

デバイスのフラッシュuserdataパーティション。

パラメーター
device ITestDevice :フラッシュするITestDevice

deviceBuild IDeviceBuildInfo :フラッシュするファイルを含むIDeviceBuildInfo

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError ユーザーデータのフラッシュに失敗した場合

flashUserDataFromDeviceImageFile

protected void flashUserDataFromDeviceImageFile ( ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

デバイスのイメージファイルからuserdata.imgを抽出し、デバイスにフラッシュします

パラメーター
device ITestDevice :フラッシュするITestDevice

deviceBuild IDeviceBuildInfo :フラッシュするファイルを含むIDeviceBuildInfo

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError ユーザーデータの抽出またはフラッシュに失敗した場合

getBootPartitionName

protected String getBootPartitionName ()

このデバイスフラッシャーのブートパーティション名を取得します。

デフォルトは「hboot」です。サブクラスは必要に応じてオーバーライドする必要があります。

戻り値
String

getBootloaderFilePrefix

protected String getBootloaderFilePrefix ( ITestDevice device)

ブートローダーファイルのプレフィックスを取得します。

デフォルトはgetBootPartitionName()です。サブクラスは必要に応じてオーバーライドする必要があります。

パラメーター
device ITestDevice :フラッシュするITestDevice

戻り値
String

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError 接頭辞の取得に失敗した場合

getCurrentSlot

protected String getCurrentSlot ( ITestDevice device)

現在のスロットを取得するヘルパーメソッド(A / B対応デバイスの場合)。

パラメーター
device ITestDevice :コマンドを実行するITestDevice

戻り値
String 「a」、「b」、またはnull(デバイスがA / B対応でない場合)

投げる
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

getFlashingResourcesRetriever

protected IFlashingResourcesRetriever getFlashingResourcesRetriever ()

戻り値
IFlashingResourcesRetriever

getImageVersion

protected String getImageVersion ( ITestDevice device, 
                String imageName)

デバイスの現在のイメージバージョンを取得するヘルパーメソッド。

パラメーター
device ITestDevice :コマンドを実行するITestDevice

imageName String :取得する画像の名前。

戻り値
String コマンドからのstdout出力の文字列

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError fastbootコマンドが失敗した場合、またはバージョンを判別できなかった場合

getRunUtil

protected IRunUtil getRunUtil ()

テスト用に公開。

戻り値
IRunUtil

handleUserDataFlashing

protected void handleUserDataFlashing ( ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

userdata / cacheパーティションのフラッシュを処理する

パラメーター
device ITestDevice :フラッシュするITestDevice

deviceBuild IDeviceBuildInfo :フラッシュするファイルを含むIDeviceBuildInfo

投げる
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

hasPartition

protected boolean hasPartition ( ITestDevice device, 
                String partition)

指定されたパーティションが存在するかどうかをブートローダーで確認します

パラメーター
device ITestDevice :操作するITestDevice

partition String :チェックするパーティションの名前

戻り値
boolean

投げる
DeviceNotAvailableException

preFlashSetup

protected void preFlashSetup ( ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

必要な追加のフラッシュ前セットアップを実行します。オーバーライドされない限り、何もしません。

パラメーター
device ITestDevice :準備するITestDevice

deviceBuild IDeviceBuildInfo :ビルドファイルを含むIDeviceBuildInfo

投げる
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

verifyRequiredBoards

protected void verifyRequiredBoards ( ITestDevice device, 
                IFlashingResourcesParser resourceParser, 
                String deviceProductType)

デバイスの製品タイプがフラッシュ対象のビルドをサポートしていることを確認します。

基本実装は、deviceProductTypeがIFlashingResourcesParser#getRequiredBoards()コレクションに含まれていることを確認します。サブクラスは必要に応じてオーバーライドできます。

パラメーター
device ITestDevice :フラッシュするITestDevice

resourceParser IFlashingResourcesParserIFlashingResourcesParser

deviceProductType Stringdeviceの製品タイプ

投げる
TargetSetupError ビルドに必要なボード情報がデバイスと一致しなかった場合

wipeCache

protected void wipeCache ( ITestDevice device)

デバイスのキャッシュパーティションをワイプします。

パラメーター
device ITestDevice :フラッシュするITestDevice

投げる
DeviceNotAvailableException デバイスが利用できない場合
TargetSetupError キャッシュのフラッシュに失敗した場合

wipePartition

protected void wipePartition ( ITestDevice device, 
                String partition)

`fastboot erase <name>`で指定されたパーティションをワイプします

パラメーター
device ITestDevice :操作するITestDevice

partition String :ワイプするパーティションの名前

投げる
DeviceNotAvailableException
TargetSetupError