InstallApexModuleTargetPreparer
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
|
public
static
final
String |
ROLLBACK_STATE_COMMITTED
|
public
static
final
String |
ROLLBACK_STATE_UNKNOWN
|
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(
|
void
|
addTimeoutMillisForBundletool(
|
void
|
checkApexActivation(ITestDevice device)
確認所有部位都已啟用。 |
|
collectApexInfoFromApexModules(
從 Apex 模組收集 PEX 資訊以進行啟用檢查。 |
|
getApkInstalled()
|
String
|
getBundletoolFileName()
|
BundletoolUtil
|
getBundletoolUtil()
|
String
|
getModuleKeywordFromApexPackageName(String packageName)
取得關鍵字 (例如「tzdata」com.android.tzdata.apex)。 |
|
getModulesFailToActivate(
取得無法啟用的模組。 |
|
getSplitsForApks(TestInformation testInfo, File moduleFile)
擷取並傳回指定 apk 的分割。 |
void
|
initBundletoolUtil(TestInformation testInfo)
針對這個類別初始化 bundletool 公用程式。 |
void
|
installTrain(TestInformation testInfo,
嘗試在裝置上安裝含有 pex 的主線列車。 |
void
|
installUsingBundleTool(TestInformation testInfo,
嘗試使用 bundletool 安裝主系列模組。 |
void
|
installer(TestInformation testInfo,
嘗試在裝置上安裝套件或分割套件。 |
ITestDevice.ApexInfo
|
retrieveApexInfo(File testApexFile, DeviceDescriptor deviceDescriptor)
擷取 ApexInfo,內容中包含指定 apex 檔案中的 packageName 和 versionCode。 |
欄位
APEX_OPTION
protected static final String APEX_OPTION
APEX_後置字串
protected static final String APEX_SUFFIX
APK_後置字串
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
ROLLBACK_STATE_COMMITTED
public static final String ROLLBACK_STATE_COMMITTED
ROLLBACK_STATE_UNKNOWN
public static final String ROLLBACK_STATE_UNKNOWN
SPLIT_APKS 後置字串
protected static final String SPLIT_APKS_SUFFIX
mTrainFolderPath
protected File mTrainFolderPath
公用建構函式
InstallApexModuleTargetPreparer
public InstallApexModuleTargetPreparer ()
公用方法
getModulesToInstall
publicgetModulesToInstall (TestInformation testInfo)
根據裝置上預先載入的模組,取得應在訓練時安裝的模組 裝置。系統不會安裝未預先載入的模組。
參數 | |
---|---|
testInfo |
TestInformation :TestInformation |
傳回 | |
---|---|
|
清單 |
擲回 | |
---|---|
DeviceNotAvailableException |
並在你無法使用裝置時傳送 |
TargetSetupError |
如未安裝必要模組,或無法將模組 已安裝。 |
設定忽略 IfNot 預先載入
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 |
TearDown
public void tearDown (TestInformation testInfo, Throwable e)
參數 | |
---|---|
testInfo |
TestInformation |
e |
Throwable |
擲回 | |
---|---|
DeviceNotAvailableException |
|
DeviceRuntimeException |
保護方法
addApksToTestFiles
protected void addApksToTestFiles ()
addStagedReadyTimeoutForAdb
protected void addStagedReadyTimeoutForAdb (cmd)
參數 | |
---|---|
cmd |
|
addTimeoutMillisForBundletool
protected void addTimeoutMillisForBundletool (extraArgs)
參數 | |
---|---|
extraArgs |
|
checkApexActivation
protected void checkApexActivation (ITestDevice device)
確認所有部位都已啟用。
參數 | |
---|---|
device |
ITestDevice :還在測試中。 |
擲回 | |
---|---|
TargetSetupError |
表示啟用失敗。 |
DeviceNotAvailableException |
collectionApexInfoFromApexModules
protectedcollectApexInfoFromApexModules ( testAppFileNames, TestInformation testInfo)
從 Apex 模組收集 PEX 資訊以進行啟用檢查。
參數 | |
---|---|
testAppFileNames |
:待安裝模組的檔案名稱清單 |
testInfo |
TestInformation :TestInformation |
傳回 | |
---|---|
|
此清單含有輸入檔案清單中 Apex 模組的 apexinfo |
擲回 | |
---|---|
TargetSetupError |
getApkInstalled
protectedgetApkInstalled ()
傳回 | |
---|---|
|
getBundletoolFileName
protected String getBundletoolFileName ()
傳回 | |
---|---|
String |
getModuleKeywordFromApexPackageName
protected String getModuleKeywordFromApexPackageName (String packageName)
取得關鍵字 (例如「tzdata」com.android.tzdata.apex)。
參數 | |
---|---|
packageName |
String :Apex 檔案的套件名稱。 |
傳回 | |
---|---|
String |
字串 apex 套件名稱的關鍵字。 |
getModulesFailToActivate
protectedgetModulesFailToActivate ( activatedApexes)
取得無法啟用的模組。
參數 | |
---|---|
activatedApexes |
:裝置上目前使用中的叢集組 |
傳回 | |
---|---|
|
此清單包含無法啟用的輸入 Apex 模組的 apexinfo。 |
擲回 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
getSplitsForApks
protectedgetSplitsForApks (TestInformation testInfo, File moduleFile)
擷取並傳回指定 apk 的分割。
參數 | |
---|---|
testInfo |
TestInformation :TestInformation |
moduleFile |
File :要從中擷取分割項目的模組檔案。 |
傳回 | |
---|---|
|
包含分割畫面的 File[]。 |
擲回 | |
---|---|
TargetSetupError |
,或是無法產生裝置規格檔案。 |
initBundletoolUtil
protected void initBundletoolUtil (TestInformation testInfo)
針對這個類別初始化 bundletool 公用程式。
參數 | |
---|---|
testInfo |
TestInformation :叫用的 TestInformation 。 |
擲回 | |
---|---|
TargetSetupError |
。 |
安裝訓練
protected void installTrain (TestInformation testInfo,moduleFilenames)
嘗試在裝置上安裝含有 pex 的主線列車。
參數 | |
---|---|
testInfo |
TestInformation :TestInformation |
moduleFilenames |
:字串清單。要發布的主系列模組檔案名稱清單
已安裝。 |
擲回 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
installUsingBundleTool
protected void installUsingBundleTool (TestInformation testInfo,testAppFileNames)
嘗試使用 bundletool 安裝主系列模組。
參數 | |
---|---|
testInfo |
TestInformation :TestInformation |
testAppFileNames |
:要安裝的預先載入模組的檔案名稱。 |
擲回 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
安裝程式
protected void installer (TestInformation testInfo,testAppFileNames)
嘗試在裝置上安裝套件或分割套件。
參數 | |
---|---|
testInfo |
TestInformation :叫用的 TestInformation |
testAppFileNames |
:要安裝的 APK 及其套件。 |
擲回 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
擷取 ApexInfo
protected ITestDevice.ApexInfo retrieveApexInfo (File testApexFile, DeviceDescriptor deviceDescriptor)
擷取 ApexInfo,內容中包含指定 apex 檔案中的 packageName 和 versionCode。
參數 | |
---|---|
testApexFile |
File :我們擷取資訊的 Apex 檔案。 |
deviceDescriptor |
DeviceDescriptor |
傳回 | |
---|---|
ITestDevice.ApexInfo |
包含指定檔案的 packageName 和 versionCode 的 ApexInfo |
擲回 | |
---|---|
TargetSetupError |
表示 aapt 剖析器無法剖析檔案。 |