ModulePusher

public class ModulePusher
extends Object

java.lang.Object
   ↳ com.android.tradefed.targetprep.ModulePusher


요약

중첩된 클래스

class ModulePusher.ModulePushError

메인라인 모듈 푸시 중 치명적인 오류가 발생했습니다. 

필드

public static final String LINE_BREAK

공개 생성자

ModulePusher(ITestDevice device, long waitTimeMs, long delayWaitingTimeMs)

공개 메서드

void installModules(ImmutableMultimap<String, File> moduleFiles, boolean factoryReset, boolean disablePackageCache)

adb push를 사용하여 기기에 moduleFiles를 설치합니다.

보호된 메서드

void checkApexActivated(ITestDevice device, modules)

모든 꼭짓점이 활성화되어 있는지 확인합니다.

Path getApexPathUnderSystem(ITestDevice device, String packageName)
getModulesFailToActivate( toInstall, activatedApexes)

활성화하지 못한 모듈을 가져옵니다.

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)

/system 아래에 파일을 푸시하기 전에 adb root 및 기기 다시 마운트

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

공개 메서드

installModules

public void installModules (ImmutableMultimap<String, File> moduleFiles, 
                boolean factoryReset, 
                boolean disablePackageCache)

adb push를 사용하여 기기에 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

protected  getModulesFailToActivate ( 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보다 큽니다. 분할되지 않은 패키지의 경우 미리 로드 설치 파일의 경로를 반환하기만 하면 됩니다.

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

setupDevice

protected void setupDevice (ITestDevice device)

/system 아래에 파일을 푸시하기 전에 adb root 및 기기 재마운트

매개변수
device ITestDevice

생성 값
ModulePusher.ModulePushError 기기를 다시 마운트할 수 없는 경우
DeviceNotAvailableException 기기를 사용할 수 없는 경우

waitForDeviceToBeResponsive

protected void waitForDeviceToBeResponsive (long waitTime)

매개변수
waitTime long