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


요약

상수

String APEX_OPTION

String APEX_SUFFIX

String APK_SUFFIX

String APK_ZIP_OPTION

String CHILD_SESSION_CREATION_CMD

String PARENT_SESSION_CREATION_CMD

String ROLLBACK_STATE_COMMITTED

String ROLLBACK_STATE_UNKNOWN

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)
void addTimeoutMillisForBundletool( extraArgs)
void checkApexActivation(ITestDevice device)

모든 apex가 활성화되어 있는지 확인합니다.

collectApexInfoFromApexModules( testAppFileNames, TestInformation testInfo)

활성화 확인을 위해 apex 모듈에서 apex 정보를 수집합니다.

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

키워드 (예: apex 패키지 이름에서 'tzdata'(com.android.tzdata.apex의 경우)를 가져옵니다.

getModulesFailToActivate( activatedApexes)

활성화되지 않은 모듈을 가져옵니다.

getSplitsForApks(TestInformation testInfo, File moduleFile)

지정된 APK의 분할을 추출하여 반환합니다.

void initBundletoolUtil(TestInformation testInfo)

이 클래스의 bundletool 유틸리티를 초기화합니다.

void installTrain(TestInformation testInfo, moduleFilenames)

기기에 apex가 포함된 메인라인 트레인을 설치하려고 시도합니다.

void installUsingBundleTool(TestInformation testInfo, testAppFileNames)

bundletool을 사용하여 메인라인 모듈을 설치하려고 시도합니다.

void installer(TestInformation testInfo, testAppFileNames)

기기에 패키지 또는 분할 패키지를 설치하려고 시도합니다.

ITestDevice.ApexInfo retrieveApexInfo(File testApexFile, DeviceDescriptor deviceDescriptor)

제공된 apex 파일에서 packageName과 versionCode이 포함된 ApexInfo를 가져옵니다.

상수

APEX_OPTION

protected static final String APEX_OPTION

상수 값: '--apex'

APEX_SUFFIX

protected static final String APEX_SUFFIX

상수 값: '.apex'

APK_SUFFIX

protected static final String APK_SUFFIX

상수 값: ".apk"

APK_ZIP_OPTION

protected static final String APK_ZIP_OPTION

상수 값: '--apks-zip'

CHILD_SESSION_CREATION_CMD

protected static final String CHILD_SESSION_CREATION_CMD

상수 값: 'pm install-create'

PARENT_SESSION_CREATION_CMD

protected static final String PARENT_SESSION_CREATION_CMD

상수 값: 'pm install-create --multi-package'

ROLLBACK_STATE_COMMITTED

public static final String ROLLBACK_STATE_COMMITTED

상수 값: 'committed'

ROLLBACK_STATE_UNKNOWN

public static final String ROLLBACK_STATE_UNKNOWN

상수 값: 'unknown'

SPLIT_APKS_SUFFIX

protected static final String SPLIT_APKS_SUFFIX

상수 값: ".apks"

필드

mTrainFolderPath

protected File mTrainFolderPath

공개 생성자

InstallApexModuleTargetPreparer

public InstallApexModuleTargetPreparer ()

공개 메서드

getModulesToInstall

public  getModulesToInstall (TestInformation testInfo)

기기에 미리 로드된 모듈을 기반으로 트레인에 설치해야 하는 모듈을 가져옵니다. 미리 로드되지 않은 모듈은 설치되지 않습니다.

매개변수
testInfo TestInformation: TestInformation

반환 값
기기에 설치해야 하는 모듈 목록입니다.

생성 값
DeviceNotAvailableException 기기를 사용할 수 없는 경우
TargetSetupError 필수 모듈이 설치되지 않았거나 모듈을 설치할 수 없는 경우

setIgnoreIfNotPreloaded

public void setIgnoreIfNotPreloaded (boolean skip)

매개변수
skip boolean

setSkipApexTearDown

public void setSkipApexTearDown (boolean skip)

매개변수
skip boolean

setUp

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)

모든 apex가 활성화되어 있는지 확인합니다.

매개변수
device ITestDevice: 테스트 중입니다.

생성 값
TargetSetupError 활성화에 실패한 경우
DeviceNotAvailableException

collectApexInfoFromApexModules

protected  collectApexInfoFromApexModules ( testAppFileNames, 
                TestInformation testInfo)

활성화 확인을 위해 apex 모듈에서 apex 정보를 수집합니다.

매개변수
testAppFileNames : 설치할 모듈의 파일 이름 목록입니다.

testInfo TestInformation: TestInformation

반환 값
입력 파일 목록에 있는 apex 모듈의 apexinfo가 포함된 목록

생성 값
TargetSetupError

getApkInstalled

protected  getApkInstalled ()

반환 값

getBundletoolFileName

protected String getBundletoolFileName ()

반환 값
String

getBundletoolUtil

protected BundletoolUtil getBundletoolUtil ()

반환 값
BundletoolUtil

getModuleKeywordFromApexPackageName

protected String getModuleKeywordFromApexPackageName (String packageName)

키워드 (예: apex 패키지 이름에서 'tzdata'(com.android.tzdata.apex의 경우)를 가져옵니다.

매개변수
packageName String: apex 파일의 패키지 이름입니다.

반환 값
String 문자열 apex 패키지 이름의 키워드입니다.

getModulesFailToActivate

protected  getModulesFailToActivate ( activatedApexes)

활성화되지 않은 모듈을 가져옵니다.

매개변수
activatedApexes : 기기에서 활성 상태인 꼭짓점 집합

반환 값
활성화되지 않은 입력 Apex 모듈의 apexinfo가 포함된 목록

생성 값
DeviceNotAvailableException
TargetSetupError

getSplitsForApks

protected  getSplitsForApks (TestInformation testInfo, 
                File moduleFile)

지정된 APK의 분할을 추출하여 반환합니다.

매개변수
testInfo TestInformation: TestInformation

moduleFile File: 분할을 추출할 모듈 파일입니다.

반환 값
분할이 포함된 File[]

생성 값
TargetSetupError bundletool을 찾을 수 없거나 기기 사양 파일이 생성되지 않는 경우

initBundletoolUtil

protected void initBundletoolUtil (TestInformation testInfo)

이 클래스의 bundletool 유틸리티를 초기화합니다.

매개변수
testInfo TestInformation: 호출의 TestInformation입니다.

생성 값
TargetSetupError bundletool을 찾을 수 없는 경우

installTrain

protected void installTrain (TestInformation testInfo, 
                 moduleFilenames)

기기에 apex가 포함된 메인라인 트레인을 설치하려고 시도합니다.

매개변수
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

retrieveApexInfo

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

제공된 apex 파일에서 packageName과 versionCode이 포함된 ApexInfo를 가져옵니다.

매개변수
testApexFile File: 정보를 가져올 apex 파일입니다.

deviceDescriptor DeviceDescriptor

반환 값
ITestDevice.ApexInfo 지정된 파일의 packageName과 versionCode이 포함된 ApexInfo

생성 값
TargetSetupError aapt 파서가 파일을 파싱하지 못한 경우