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, appFilesAndPackages)

嘗試在裝置上安裝套件或分割套件。

String parsePackageName(File testAppFile)

從測試應用程式取得套件名稱。

resolveApkFiles(TestInformation testInfo, apkFiles)

協助將部分 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

getAbi

public IAbi getAbi ()

傳回
IAbi

getDevice

public ITestDevice getDevice ()

傳回準備工具要套用的裝置。

傳回
ITestDevice

擲回
com.android.tradefed.targetprep.TargetSetupError
TargetSetupError

getTestInfo

public TestInformation getTestInfo ()

傳回
TestInformation

getTestsFileName

public  getTestsFileName ()

傳回指定測試 APK 名稱清單的副本。

傳回

isCleanUpEnabled

public boolean isCleanUpEnabled ()

如果 Apks 會在拆除期間遭到清理,則傳回 True。

傳回
boolean

isInstantMode (即時模式)

public final boolean isInstantMode ()

傳回是否要啟用免安裝模式安裝功能。

傳回
boolean

reportDependencies

public  reportDependencies ()

傳回

setAaptVersion

public void setAaptVersion (AaptParser.AaptVersion aaptVersion)

設定 APK 剖析的 AAPT 版本。

參數
aaptVersion AaptParser.AaptVersion

SetAbi

public void setAbi (IAbi abi)

參數
abi IAbi

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

protected  resolveApkFiles (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