ModulePusher
public
class
ModulePusher
extends Object
java.lang.Object | |
↳ | com.android.tradefed.targetprep.ModulePusher |
摘要
巢狀類別 | |
---|---|
class |
ModulePusher.ModulePushError
推送 Mainline 模組時發生嚴重錯誤。 |
欄位 | |
---|---|
public
static
final
String |
LINE_BREAK
|
公用建構函式 | |
---|---|
ModulePusher(ITestDevice device, long waitTimeMs, long delayWaitingTimeMs)
|
公用方法 | |
---|---|
void
|
installModules(ImmutableMultimap<String, File> moduleFiles, boolean factoryReset, boolean disablePackageCache)
透過 ADB 推送將 |
保護方法 | |
---|---|
void
|
checkApexActivated(ITestDevice device,
確認所有部位都已啟用。 |
Path
|
getApexPathUnderSystem(ITestDevice device, String packageName)
|
|
getModulesFailToActivate(
取得無法啟用的模組。 |
String[]
|
getPathsOnDevice(ITestDevice device, String packageName)
取得裝置上套件的安裝檔案路徑。 |
Path[]
|
getPreloadPaths(ITestDevice device, File[] moduleFiles, String packageName, int apiLevel)
取得裝置上預先載入套件的路徑。 |
ImmutableMap<String, String>
|
parsePackageVersionCodes(String output)
剖析「package:{key} versionCode:{value}」的幾行轉換成地圖 |
void
|
setupDevice(ITestDevice device)
ADB 根層級並重新掛接裝置,再將檔案推送至 /system |
void
|
waitForDeviceToBeResponsive(long waitTime)
|
欄位
LINE_BREAK
public static final String LINE_BREAK
公用建構函式
ModulePusher
public ModulePusher (ITestDevice device, long waitTimeMs, long delayWaitingTimeMs)
參數 | |
---|---|
device |
ITestDevice |
waitTimeMs |
long |
delayWaitingTimeMs |
long |
公用方法
安裝模組
public void installModules (ImmutableMultimap<String, File> moduleFiles, boolean factoryReset, boolean disablePackageCache)
透過 ADB 推送將 moduleFiles
安裝到裝置上。
參數 | |
---|---|
moduleFiles |
ImmutableMultimap :從套件名稱到套件檔案的多重對應。在分割情況下,
基本套件應按照疊代順序排列。 |
factoryReset |
boolean :如果透過恢復原廠設定重新載入。 |
disablePackageCache |
boolean |
擲回 | |
---|---|
DeviceNotAvailableException |
|
ModulePusher.ModulePushError |
|
TargetSetupError |
保護方法
checkApexActivated
protected void checkApexActivated (ITestDevice device,modules)
確認所有部位都已啟用。
參數 | |
---|---|
device |
ITestDevice :還在測試中。 |
modules |
|
擲回 | |
---|---|
ModulePusher.ModulePushError |
表示啟用失敗。 |
DeviceNotAvailableException |
getApexPathUnderSystem
protected Path getApexPathUnderSystem (ITestDevice device, String packageName)
參數 | |
---|---|
device |
ITestDevice |
packageName |
String |
傳回 | |
---|---|
Path |
擲回 | |
---|---|
DeviceNotAvailableException |
|
ModulePusher.ModulePushError |
getModulesFailToActivate
protectedgetModulesFailToActivate ( toInstall, activatedApexes)
取得無法啟用的模組。
參數 | |
---|---|
toInstall |
|
activatedApexes |
:裝置上目前使用中的叢集組 |
傳回 | |
---|---|
|
此清單包含無法啟用的輸入 Apex 模組的 apexinfo。 |
getPathsOnDevice
protected String[] getPathsOnDevice (ITestDevice device, String packageName)
取得裝置上套件的安裝檔案路徑。
參數 | |
---|---|
device |
ITestDevice :測試中 |
packageName |
String :模組 |
傳回 | |
---|---|
String[] |
套件中所有檔案的路徑 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果沒有裝置 |
ModulePusher.ModulePushError |
getPreloadPaths
protected Path[] getPreloadPaths (ITestDevice device, File[] moduleFiles, String packageName, int apiLevel)
取得裝置上預先載入套件的路徑。
如果是分割套件,請傳回套件 dir 的路徑,後面加上檔案的路徑。阿斯 因此,傳回的大小一律是 >1 必須是 1。針對非分割套件,只需 會傳回預先載入安裝檔案的路徑。
參數 | |
---|---|
device |
ITestDevice :測試中 |
moduleFiles |
File :要安裝的本機模組檔案 |
packageName |
String :模組 |
apiLevel |
int :裝置的層級 |
傳回 | |
---|---|
Path[] |
預先載入檔案的路徑 |
擲回 | |
---|---|
DeviceNotAvailableException |
|
ModulePusher.ModulePushError |
parsePackageVersionCodes
protected ImmutableMap<String, String> parsePackageVersionCodes (String output)
剖析「package:{key} versionCode:{value}」的幾行轉換成地圖
參數 | |
---|---|
output |
String |
傳回 | |
---|---|
ImmutableMap<String, String> |
設定裝置
protected void setupDevice (ITestDevice device)
ADB 根層級並重新掛接裝置,再將檔案推送至 /system
參數 | |
---|---|
device |
ITestDevice |
擲回 | |
---|---|
ModulePusher.ModulePushError |
。 |
DeviceNotAvailableException |
(如果裝置無法使用的話)。 |
waitForDeviceToBe 回應
protected void waitForDeviceToBeResponsive (long waitTime)
參數 | |
---|---|
waitTime |
long |