安裝ApexModuleTargetPreparer

public class InstallApexModuleTargetPreparer
extends SuiteApkInstaller

java.lang.Object
com.android.tradefed.targetprep.BaseTargetPreparer
com.android.tradefed.targetprep.TestAppInstallSetup
com.android.tradefed.targetprep.suite.SuiteApkInstaller
com.android.tradefed.targetprep.InstallApexModuleTargetPreparer


概括

領域

protected static final String APEX_OPTION

protected static final String APEX_SUFFIX

protected static final String APK_SUFFIX

protected static final String APK_ZIP_OPTION

protected static final String CHILD_SESSION_CREATION_CMD

protected static final String PARENT_SESSION_CREATION_CMD

protected static final String SPLIT_APKS_SUFFIX

protected File mTrainFolderPath

公共構造函數

InstallApexModuleTargetPreparer ()

公共方法

getModulesToInstall ( TestInformation testInfo)

根據設備上預先載入的模組,取得應安裝在列車上的模組。

void setIgnoreIfNotPreloaded (boolean skip)
void setSkipApexTearDown (boolean skip)
void setUp ( TestInformation testInfo)

void tearDown ( TestInformation testInfo, Throwable e)

受保護的方法

void addApksToTestFiles ()
void addStagedReadyTimeoutForAdb ( cmd) addStagedReadyTimeoutForAdb ( cmd)
void addTimeoutMillisForBundletool ( extraArgs) addTimeoutMillisForBundletool ( extraArgs)
void checkApexActivation ( ITestDevice device)

檢查是否所有頂點均已啟動。

collectApexInfoFromApexModules ( testAppFileNames, TestInformation testInfo) collectApexInfoFromApexModules ( testAppFileNames, TestInformation testInfo)

從 apex 模組收集 apex 資訊以進行啟動檢查。

getApkInstalled ()
String getBundletoolFileName ()
BundletoolUtil getBundletoolUtil ()
String getModuleKeywordFromApexPackageName (String packageName)

從 apex 套件名稱取得關鍵字(例如,com.android.tzdata.apex 的「tzdata」)。

getModulesFailToActivate ( activatedApexes) getModulesFailToActivate ( activatedApexes)

取得啟動失敗的模組。

getSplitsForApks ( TestInformation testInfo, File moduleFile)

提取並傳回指定 apk 的拆分。

void initBundletoolUtil ( TestInformation testInfo)

初始化此類別的bundletool util。

void installTrain ( TestInformation testInfo, moduleFilenames) installTrain ( TestInformation testInfo, moduleFilenames)

嘗試在裝置上安裝包含 apex 的主線列車。

void installUsingBundleTool ( TestInformation testInfo, testAppFileNames) installUsingBundleTool ( TestInformation testInfo, testAppFileNames)

嘗試使用bundletool安裝主線模組。

void installer ( TestInformation testInfo, testAppFileNames) installer ( TestInformation testInfo, testAppFileNames)

嘗試在裝置上安裝軟體包或分割軟體包。

ITestDevice.ApexInfo retrieveApexInfo (File testApexFile, DeviceDescriptor deviceDescriptor)

從給定的 apex 檔案中檢索包含 packageName 和 versionCode 的 ApexInfo。

領域

APEX_選項

protected static final String APEX_OPTION

APEX_SUFFIX

protected static final String APEX_SUFFIX

APK_SUFFIX

protected static final String APK_SUFFIX

APK_ZIP_OPTION

protected static final String APK_ZIP_OPTION

CHILD_SESSION_CREATION_CMD

protected static final String CHILD_SESSION_CREATION_CMD

PARENT_SESSION_CREATION_CMD

protected static final String PARENT_SESSION_CREATION_CMD

SPLIT_APKS_SUFFIX

protected static final String SPLIT_APKS_SUFFIX

mTrainFolderPath

protected File mTrainFolderPath

公共構造函數

安裝ApexModuleTargetPreparer

public InstallApexModuleTargetPreparer ()

公共方法

取得要安裝的模組

public  getModulesToInstall (TestInformation testInfo)

根據設備上預先載入的模組,取得應安裝在列車上的模組。未預先載入的模組將不會被安裝。

參數
testInfo TestInformationTestInformation

退貨
清單應安裝在設備上的模組。

投擲
DeviceNotAvailableException當設備不可用時。
TargetSetupError當未安裝強制模組或無法安裝模組時。

設定忽略如果未預先載入

public void setIgnoreIfNotPreloaded (boolean skip)

參數
skip boolean

設定SkipApexTearDown

public void setSkipApexTearDown (boolean skip)

參數
skip boolean

設定

public void setUp (TestInformation testInfo)

參數
testInfo TestInformation

投擲
BuildError
DeviceNotAvailableException
TargetSetupError

拆除

public void tearDown (TestInformation testInfo, 
                Throwable e)

參數
testInfo TestInformation

e Throwable

投擲
DeviceNotAvailableException

受保護的方法

新增 Apks 到測試文件

protected void addApksToTestFiles ()

addStgedReadyTimeoutForAdb

protected void addStagedReadyTimeoutForAdb ( cmd)

參數
cmd

addTimeoutMillisForBundle工具

protected void addTimeoutMillisForBundletool ( extraArgs)

參數
extraArgs

檢查Apex激活

protected void checkApexActivation (ITestDevice device)

檢查是否所有頂點均已啟動。

參數
device ITestDevice :正在測試中。

投擲
TargetSetupError如果啟動失敗。
DeviceNotAvailableException

從 ApexModules 收集 ApexInfo

protected  collectApexInfoFromApexModules ( testAppFileNames, 
                TestInformation testInfo)

從 apex 模組收集 apex 資訊以進行啟動檢查。

參數
testAppFileNames :要安裝的模組的檔案名稱列表

testInfo TestInformationTestInformation

退貨
包含輸入檔列表中 apex 模組的 apexinfo 的列表

投擲
TargetSetupError

取得已安裝的Apk

protected  getApkInstalled ()

退貨

取得Bundletool檔名

protected String getBundletoolFileName ()

退貨
String

取得BundletoolUtil

protected BundletoolUtil getBundletoolUtil ()

退貨
BundletoolUtil

從 ApexPackageName 取得模組關鍵字

protected String getModuleKeywordFromApexPackageName (String packageName)

從 apex 套件名稱取得關鍵字(例如,com.android.tzdata.apex 的「tzdata」)。

參數
packageName String : apex 檔案的套件名稱。

退貨
String字串 apex 包名稱的關鍵字。

獲取模組啟動失敗

protected  getModulesFailToActivate ( activatedApexes)

取得啟動失敗的模組。

參數
activatedApexes :設備上活動頂點的集合

退貨
包含啟動失敗的輸入 apex 模組的 apexinfo 的清單。

投擲
DeviceNotAvailableException
TargetSetupError

getSplitForApks

protected  getSplitsForApks (TestInformation testInfo, 
                File moduleFile)

提取並傳回指定 apk 的拆分。

參數
testInfo TestInformationTestInformation

moduleFile File :從中提取拆分的模組檔案。

退貨
包含分割的 File[]。

投擲
TargetSetupError如果找不到bundletool或無法產生裝置規格檔。

初始化BundletoolUtil

protected void initBundletoolUtil (TestInformation testInfo)

初始化此類別的bundletool util。

參數
testInfo TestInformation :呼叫的TestInformation

投擲
TargetSetupError如果找不到bundletool。

安裝火車

protected void installTrain (TestInformation testInfo, 
                 moduleFilenames)

嘗試在裝置上安裝包含 apex 的主線列車。

參數
testInfo TestInformationTestInformation

moduleFilenames :字串列表。要安裝的主線模組的檔案名稱清單。

投擲
DeviceNotAvailableException
TargetSetupError

安裝使用Bundle工具

protected void installUsingBundleTool (TestInformation testInfo, 
                 testAppFileNames)

嘗試使用bundletool安裝主線模組。

參數
testInfo TestInformationTestInformation

testAppFileNames :要安裝的預先載入模組的檔案名稱。

投擲
DeviceNotAvailableException
TargetSetupError

安裝人員

protected void installer (TestInformation testInfo, 
                 testAppFileNames)

嘗試在裝置上安裝軟體包或分割軟體包。

參數
testInfo TestInformation :呼叫的TestInformation

testAppFileNames :要安裝的apk及其套件。

投擲
DeviceNotAvailableException
TargetSetupError

檢索Apex訊息

protected ITestDevice.ApexInfo retrieveApexInfo (File testApexFile, 
                DeviceDescriptor deviceDescriptor)

從給定的 apex 檔案中檢索包含 packageName 和 versionCode 的 ApexInfo。

參數
testApexFile File :我們從中檢索資訊的 apex 檔。

deviceDescriptor DeviceDescriptor

退貨
ITestDevice.ApexInfo包含給定檔案的 packageName 和 versionCode 的ApexInfo

投擲
TargetSetupError如果 aapt 解析器無法解析檔案。