TestAppInstallSetup
public
class
TestAppInstallSetup
extends BaseTargetPreparer
implements
IAbiReceiver,
IDiscoverDependencies
java.lang.Object | ||
↳ | com.android.tradefed.targetprep.BaseTargetPreparer | |
↳ | com.android.tradefed.targetprep.TestAppInstallSetup |
ITargetPreparer
,可將一或多個應用程式從 IDeviceBuildInfo.getTestsDir()
資料夾安裝到裝置上。
如果測試 ZIP 不存在或不存在,這個準備工具會在替代目錄中尋找 包含必要的 APK系統會依序搜尋最後一個指定替代引數 第一個
摘要
欄位 | |
---|---|
protected
IncrementalInstallSession |
incrementalInstallSession
|
protected
double |
mBlockFilterPercentage
|
protected
int |
mIncrementalInstallTimeout
|
protected
boolean |
mIncrementalInstallation
|
公用建構函式 | |
---|---|
TestAppInstallSetup()
|
公用方法 | |
---|---|
void
|
addInstallArg(String arg)
新增一個要使用的 APK 安裝引數。 |
void
|
addSplitApkFileNames(String fileNames)
將一組檔案名稱除以「,」字串中,以分割 APK 的形式安裝 |
void
|
addTestFile(File file)
將檔案或目錄新增到要安裝的 APK 清單。 |
void
|
addTestFileName(String fileName)
將檔案名稱加到要安裝的 APK 清單。 |
IAbi
|
getAbi()
|
ITestDevice
|
getDevice()
傳回準備工具要套用的裝置。 |
TestInformation
|
getTestInfo()
|
|
getTestsFileName()
傳回指定測試 APK 名稱清單的副本。 |
boolean
|
isCleanUpEnabled()
如果 Apks 會在拆除期間遭到清理,則傳回 True。 |
final
boolean
|
isInstantMode()
傳回是否要啟用免安裝模式安裝功能。 |
|
reportDependencies()
|
void
|
setAaptVersion(AaptParser.AaptVersion aaptVersion)
設定 APK 剖析的 AAPT 版本。 |
void
|
setAbi(IAbi abi)
|
void
|
setAltDir(File altDir)
設定替代目錄。 |
void
|
setAltDirBehavior(AltDirBehavior altDirBehavior)
設定替代目錄行為。 |
void
|
setCleanApk(boolean shouldClean)
設定是否應在 tearDown 清除已安裝的 APK |
void
|
setForceQueryable(boolean forceQueryable)
強制查詢的預設值為 true。 |
final
void
|
setInstantMode(boolean mode)
設定是否要在安裝 APK 時使用 --instant。 |
void
|
setShouldGrantPermission(boolean shouldGrant)
如有提供 userId,則可針對 APK 安裝作業設定 allowPermission。 |
void
|
setUp(ITestDevice device, IBuildInfo buildInfo)
此方法已淘汰。 暫時性回溯相容的回呼。 |
void
|
setUp(TestInformation testInfo)
|
void
|
setUserId(int userId)
如要為特定使用者安裝 APK,請設定您要安裝的使用者 ID。 |
void
|
tearDown(TestInformation testInfo, Throwable e)
|
保護方法 | |
---|---|
IncrementalInstallSession.Builder
|
getIncrementalInstallSessionBuilder()
初始化工作階段建構工具,以漸進方式安裝測試應用程式。 |
File
|
getLocalPathForFilename(TestInformation testInfo, String apkFileName)
根據建構資訊中的測試成果資訊解析實際的 APK 路徑。 |
void
|
installPackageIncrementally(IncrementalInstallSession.Builder builder)
啟動測試應用程式的漸進式安裝工作階段。 |
void
|
installer(TestInformation testInfo,
嘗試在裝置上安裝套件或分割套件。 |
String
|
parsePackageName(File testAppFile)
從測試應用程式取得套件名稱。 |
|
resolveApkFiles(TestInformation testInfo,
協助將部分 APK 解析為檔案和套件。 |
void
|
setTestInformation(TestInformation testInfo)
|
void
|
uninstallPackage(ITestDevice device, String packageName)
嘗試從裝置中移除包裹。 |
欄位
增量安裝工作階段
protected IncrementalInstallSession incrementalInstallSession
mBlockFilterPercentage
protected double mBlockFilterPercentage
mIncrementalInstallTimeout
protected int mIncrementalInstallTimeout
mIncrementalInstallation
protected boolean mIncrementalInstallation
公用建構函式
TestAppInstallSetup
public TestAppInstallSetup ()
公用方法
addInstallArg 新增
public void addInstallArg (String arg)
新增一個要使用的 APK 安裝引數。
參數 | |
---|---|
arg |
String |
addSplitApkFileNames
public void addSplitApkFileNames (String fileNames)
將一組檔案名稱除以「,」字串中,以分割 APK 的形式安裝
參數 | |
---|---|
fileNames |
String :以「,」分隔的檔案名稱字串 |
addTestFile
public void addTestFile (File file)
將檔案或目錄新增到要安裝的 APK 清單。
參數 | |
---|---|
file |
File |
addTestFileName
public void addTestFileName (String fileName)
將檔案名稱加到要安裝的 APK 清單。
參數 | |
---|---|
fileName |
String |
getDevice
public ITestDevice getDevice ()
傳回準備工具要套用的裝置。
傳回 | |
---|---|
ITestDevice |
擲回 | |
---|---|
|
com.android.tradefed.targetprep.TargetSetupError |
TargetSetupError |
getTestsFileName
publicgetTestsFileName ()
傳回指定測試 APK 名稱清單的副本。
傳回 | |
---|---|
|
isCleanUpEnabled
public boolean isCleanUpEnabled ()
如果 Apks 會在拆除期間遭到清理,則傳回 True。
傳回 | |
---|---|
boolean |
isInstantMode (即時模式)
public final boolean isInstantMode ()
傳回是否要啟用免安裝模式安裝功能。
傳回 | |
---|---|
boolean |
reportDependencies
publicreportDependencies ()
傳回 | |
---|---|
|
setAaptVersion
public void setAaptVersion (AaptParser.AaptVersion aaptVersion)
設定 APK 剖析的 AAPT 版本。
參數 | |
---|---|
aaptVersion |
AaptParser.AaptVersion |
SetAltDir
public void setAltDir (File altDir)
設定替代目錄。
參數 | |
---|---|
altDir |
File |
setAltDirBehavior
public void setAltDirBehavior (AltDirBehavior altDirBehavior)
設定替代目錄行為。
參數 | |
---|---|
altDirBehavior |
AltDirBehavior |
setCleanApk
public void setCleanApk (boolean shouldClean)
設定是否應在 tearDown 清除已安裝的 APK
參數 | |
---|---|
shouldClean |
boolean |
setForceQueryable
public void setForceQueryable (boolean forceQueryable)
強制查詢的預設值為 true。如果 APK 變更為 false,請將其更新為 false 安裝時不可查詢
參數 | |
---|---|
forceQueryable |
boolean |
設定立即模式
public final void setInstantMode (boolean mode)
設定是否要在安裝 APK 時使用 --instant。如果 已設定強制安裝模式。
參數 | |
---|---|
mode |
boolean |
set shouldGrantPermission 權限
public void setShouldGrantPermission (boolean shouldGrant)
如有提供 userId,則可針對 APK 安裝作業設定 allowPermission。
參數 | |
---|---|
shouldGrant |
boolean |
設定
public void setUp (ITestDevice device, IBuildInfo buildInfo)
此方法已淘汰。
暫時與先前相容的回呼。
參數 | |
---|---|
device |
ITestDevice |
buildInfo |
IBuildInfo |
擲回 | |
---|---|
BuildError |
|
DeviceNotAvailableException |
|
TargetSetupError |
設定
public void setUp (TestInformation testInfo)
參數 | |
---|---|
testInfo |
TestInformation |
擲回 | |
---|---|
BuildError |
|
DeviceNotAvailableException |
|
TargetSetupError |
設定使用者 ID
public void setUserId (int userId)
如要為特定使用者安裝 APK,請設定您要安裝的使用者 ID。
參數 | |
---|---|
userId |
int |
TearDown
public void tearDown (TestInformation testInfo, Throwable e)
參數 | |
---|---|
testInfo |
TestInformation |
e |
Throwable |
擲回 | |
---|---|
DeviceNotAvailableException |
保護方法
getIncrementalInstallSessionBuilder
protected IncrementalInstallSession.Builder getIncrementalInstallSessionBuilder ()
初始化工作階段建構工具,以漸進方式安裝測試應用程式。
傳回 | |
---|---|
IncrementalInstallSession.Builder |
getLocalPathForFilename
protected File getLocalPathForFilename (TestInformation testInfo, String apkFileName)
根據建構資訊中的測試成果資訊解析實際的 APK 路徑。
參數 | |
---|---|
testInfo |
TestInformation :叫用的 TestInformation 。 |
apkFileName |
String :要安裝的 APK 檔案名稱 |
傳回 | |
---|---|
File |
ERROR(/File) ,代表主機上的實體 APK 檔案,null (如果檔案)
不存在。 |
擲回 | |
---|---|
TargetSetupError |
installPackageIncrementally
protected void installPackageIncrementally (IncrementalInstallSession.Builder builder)
啟動測試應用程式的漸進式安裝工作階段。
參數 | |
---|---|
builder |
IncrementalInstallSession.Builder :漸進式安裝工作階段的建構工具物件。 |
擲回 | |
---|---|
|
com.android.tradefed.targetprep.TargetSetupError |
TargetSetupError |
安裝程式
protected void installer (TestInformation testInfo,appFilesAndPackages)
嘗試在裝置上安裝套件或分割套件。
參數 | |
---|---|
testInfo |
TestInformation :叫用的 TestInformation |
appFilesAndPackages |
:要安裝的 APK 及其套件。 |
擲回 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
剖析套件名稱
protected String parsePackageName (File testAppFile)
從測試應用程式取得套件名稱。
參數 | |
---|---|
testAppFile |
File |
傳回 | |
---|---|
String |
擲回 | |
---|---|
TargetSetupError |
helpApkFiles
protectedresolveApkFiles (TestInformation testInfo, apkFiles)
協助將部分 APK 解析為檔案和套件。
參數 | |
---|---|
testInfo |
TestInformation |
apkFiles |
|
傳回 | |
---|---|
|
擲回 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
setTestInformation
protected void setTestInformation (TestInformation testInfo)
參數 | |
---|---|
testInfo |
TestInformation |
解除安裝套件
protected void uninstallPackage (ITestDevice device, String packageName)
嘗試從裝置中移除包裹。
參數 | |
---|---|
device |
ITestDevice |
packageName |
String |
擲回 | |
---|---|
DeviceNotAvailableException |