테스트 장치

public class TestDevice
extends NativeDevice

java.lang.Object
com.android.tradefed.device.NativeDevice
com.android.tradefed.device.TestDevice


전체 스택 Android 장치용 ITestDevice 구현

요약

중첩 클래스

class TestDevice.MicrodroidBuilder

Microdroid TestDevice를 생성하는 데 사용되는 빌더입니다.

필드

public static final String DISMISS_KEYGUARD_CMD

키가드를 해제하는 데 사용할 수 있는 명령입니다.

공개 생성자

TestDevice (IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

공개 메소드

boolean canSwitchToHeadlessSystemUser ()

헤드리스 SYSTEM 사용자로 전환이 허용되는지 여부를 반환합니다.

boolean clearErrorDialogs ()

현재 장치 UI에 표시되는 오류 대화 상자를 닫으려고 합니다.

int createUser (String name)

지정된 이름과 기본 플래그 0을 사용하여 사용자를 만듭니다.

int createUser (String name, boolean guest, boolean ephemeral, boolean forTesting)

주어진 이름과 제공된 플래그를 사용하여 사용자를 생성합니다.

int createUser (String name, boolean guest, boolean ephemeral)

주어진 이름과 제공된 플래그를 사용하여 사용자를 생성합니다.

int createUserNoThrow (String name)

지정된 이름과 기본 플래그 0을 사용하여 사용자를 만듭니다.

void disableKeyguard ()

키가드를 비활성화하려고 시도합니다.

boolean doesFileExist (String deviceFilePath)

장치에 파일이 있는지 확인하는 도우미 메서드입니다.

boolean doesFileExist (String deviceFilePath, int userId)

특정 사용자에 대해 장치에 파일이 있는지 확인하는 도우미 메서드입니다.

File dumpHeap (String process, String devicePath)

system_server에서 힙 덤프를 시도합니다.

getActiveApexes ()

기기에서 활성화된 APEX에 대한 정보를 가져옵니다.

getAllSettings (String namespace)

요청된 네임스페이스의 키 값 쌍을 반환합니다.

String getAndroidId (int userId)

userId에 연결된 android-id를 찾아서 반환합니다. 찾을 수 없으면 null입니다.

getAndroidIds ()

사용자 ID와 일치하는 Android ID의 맵을 만듭니다.

PackageInfo getAppPackageInfo (String packageName)

장치에 설치된 패키지에 대한 정보를 가져옵니다.

getAppPackageInfos ()

기기에 설치된 패키지 정보를 가져옵니다.

InputStreamSource getBugreport ()

장치에서 버그 보고서를 검색합니다.

InputStreamSource getBugreportz ()

장치에서 버그 보고서를 검색합니다.

DeviceFoldableState getCurrentFoldableState ()

기기의 현재 폴더블 상태를 반환하거나 일부 문제가 발생한 경우 null을 반환합니다.

int getCurrentUser ()

현재 실행 중인 사용자의 ID를 반환합니다.

getFoldableStates ()

기기의 폴더블 상태 목록을 반환합니다.

getInstalledPackageNames ()

기기에 있는 애플리케이션 패키지 이름을 가져옵니다.

KeyguardControllerState getKeyguardState ()

키가드의 현재 상태를 가져오려면 객체를 반환하거나, 지원되지 않으면 null을 반환합니다.

Integer getMainUserId ()

기본 사용자 ID를 반환합니다.

getMainlineModuleInfo ()

장치에 설치된 메인라인 모듈에 대한 정보를 가져옵니다.

int getMaxNumberOfRunningUsersSupported ()

지원되는 동시 실행 사용자의 최대 수를 가져옵니다.

int getMaxNumberOfUsersSupported ()

지원되는 최대 사용자 수를 확보하세요.

Integer getPrimaryUserId ()

기본 사용자 ID를 반환합니다.

InputStreamSource getScreenshot ()

장치에서 스크린샷을 찍습니다.

InputStreamSource getScreenshot (String format, boolean rescale)

장치에서 스크린샷을 찍습니다.

InputStreamSource getScreenshot (String format)

장치에서 스크린샷을 찍습니다.

InputStreamSource getScreenshot (long displayId)

디스플레이 ID가 지정된 장치에서 스크린샷을 가져옵니다.

String getSetting (String namespace, String key)

getSetting(int, String, String) 참조하고 시스템 사용자에게 수행됩니다.

String getSetting (int userId, String namespace, String key)

요청된 설정의 값을 반환합니다.

getUninstallablePackageNames ()

제거할 수 있는 애플리케이션 패키지 이름을 가져옵니다.

int getUserFlags (int userId)

특정 사용자의 플래그를 찾아 반환합니다.

getUserInfos ()

장치의 UserInfo 에 대한 useId 맵을 가져옵니다.

int getUserSerialNumber (int userId)

발견된 경우 userId와 연관된 일련 번호를 반환하고, 다른 경우에는 -10000을 반환합니다.

boolean hasFeature (String feature)

장치에서 기능을 사용할 수 있는지 확인하십시오.

String installPackage (File packageFile, boolean reinstall, String... extraArgs)

기기에 Android 패키지를 설치합니다.

String installPackage (File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)

기기에 Android 패키지를 설치합니다.

String installPackage (File packageFile, File certFile, boolean reinstall, String... extraArgs)

기기에 Android 패키지를 설치합니다.

String installPackageForUser (File packageFile, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)

특정 사용자의 기기에 Android 패키지를 설치합니다.

String installPackageForUser (File packageFile, boolean reinstall, int userId, String... extraArgs)

특정 사용자의 기기에 Android 패키지를 설치합니다.

String installPackages ( packageFiles, boolean reinstall, String... extraArgs) installPackages ( packageFiles, boolean reinstall, String... extraArgs)

String installPackages ( packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs) installPackages ( packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs)

String installPackagesForUser ( packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs) installPackagesForUser ( packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)

String installPackagesForUser ( packageFiles, boolean reinstall, int userId, String... extraArgs) installPackagesForUser ( packageFiles, boolean reinstall, int userId, String... extraArgs)

String installRemotePackages ( remoteApkPaths, boolean reinstall, String... extraArgs) installRemotePackages ( remoteApkPaths, boolean reinstall, String... extraArgs)

String installRemotePackages ( remoteApkPaths, boolean reinstall, boolean grantPermissions, String... extraArgs) installRemotePackages ( remoteApkPaths, boolean reinstall, boolean grantPermissions, String... extraArgs)

boolean isAppEnumerationSupported ()

기기의 플랫폼이 앱 열거를 지원하는지 확인하세요.

boolean isHeadlessSystemUserMode ()

장치가 헤드리스 시스템 사용자 모드를 사용하는지 여부를 반환합니다.

boolean isMainUserPermanentAdmin ()

기본 사용자가 영구 관리자인지, 삭제하거나 관리자가 아닌 상태로 다운그레이드할 수 없는지 여부를 반환합니다.

boolean isMultiUserSupported ()

다중 사용자가 지원되는지 결정합니다.

boolean isPackageInstalled (String packageName)

특정 패키지 이름을 장치에 쿼리하여 현재 설치되어 있는지 확인하세요.

boolean isPackageInstalled (String packageName, String userId)

주어진 패키지 이름과 주어진 사용자 ID에 대해 장치를 쿼리하여 해당 사용자에 대해 현재 설치되어 있는지 확인합니다.

boolean isUserRunning (int userId)

특정 사용자가 실행 중인지 확인합니다.

boolean isUserSecondary (int userId)

플래그에 따라 지정된 사용자가 보조 사용자인지 여부를 반환합니다.

boolean isUserVisible (int userId)

해당 사용자가 표시되는지 확인합니다.

boolean isUserVisibleOnDisplay (int userId, int displayId)

지정된 사용자가 지정된 디스플레이에 표시되는지 확인합니다.

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

ERROR(/java.android.view.Display#DEFAULT_DISPLAY) 에서 기기가 사용자가 백그라운드에서 볼 수 있도록 허용하는지 여부를 반환합니다.

boolean isVisibleBackgroundUsersSupported ()

장치가 사용자가 백그라운드에서 볼 수 있도록 시작할 수 있는지 여부를 반환합니다.

listDisplayIds ()

"dumpsys SurfaceFlinger"에서 보고한 대로 장치에서 사용 가능한 디스플레이 ID 목록을 수집합니다.

listDisplayIdsForStartingVisibleBackgroundUsers ()

start a user visible in the background 데 사용할 수 있는 디스플레이 목록을 가져옵니다.

listUsers ()

기기의 사용자 목록을 가져옵니다.

boolean logBugreport (String dataName, ITestLogger listener)

버그 신고를 받아 기자에게 기록하는 도우미 메서드입니다.

void postInvocationTearDown (Throwable exception)

호출이 완료된 후 실행될 장치별 필수 정리를 위한 추가 단계입니다.

boolean removeAdmin (String componentName, int userId)

특정 사용자에서 해당 장치 관리자를 제거하고 성공하면 true 반환하고, 그렇지 않으면 false 반환합니다.

void removeOwners ()

최선을 다해 기존 장치 프로필 소유자를 모두 제거하세요.

boolean removeUser (int userId)

장치에서 특정 사용자를 제거합니다.

boolean setDeviceOwner (String componentName, int userId)

특정 사용자의 장치 관리자 구성 요소를 장치 소유자로 설정합니다.

void setSetting (String namespace, String key, String value)

setSetting(int, String, String, String) 참조하고 시스템 사용자에게 수행됩니다.

void setSetting (int userId, String namespace, String key, String value)

특정 사용자의 네임스페이스에 설정 값을 추가합니다.

void shutdownMicrodroid ( ITestDevice microdroidDevice)

마이크로드로이드 장치가 있는 경우 종료합니다.

boolean startUser (int userId)

현재 중지된 경우 지정된 사용자를 백그라운드에서 시작합니다.

boolean startUser (int userId, boolean waitFlag)

현재 중지된 경우 지정된 사용자를 백그라운드에서 시작합니다.

boolean startVisibleBackgroundUser (int userId, int displayId, boolean waitFlag)

지정된 디스플레이에 표시되는 백그라운드에서 지정된 사용자를 시작합니다(즉, 사용자가 해당 디스플레이에서 활동을 시작할 수 있도록 허용).

boolean stopUser (int userId, boolean waitFlag, boolean forceFlag)

특정 사용자를 중지합니다.

boolean stopUser (int userId)

지정된 사용자를 중지합니다.

boolean supportsMicrodroid ()

마이크로드로이드를 실행하기 위한 전제조건을 확인합니다.

boolean supportsMicrodroid (boolean protectedVm)

마이크로드로이드를 실행하기 위한 전제조건을 확인합니다.

boolean switchUser (int userId)

기본 시간 제한을 사용하여 다른 userId로 전환합니다.

boolean switchUser (int userId, long timeout)

제공된 제한 시간을 기한으로 사용하여 다른 userId로 전환합니다.

Bugreport takeBugreport ()

버그 보고서를 가져와 Bugreport 개체 내부에 반환하여 처리합니다.

String uninstallPackage (String packageName)

기기에서 Android 패키지를 제거합니다.

String uninstallPackageForUser (String packageName, int userId)

특정 사용자의 기기에서 Android 패키지를 제거합니다.

보호된 방법

AaptParser createParser (File appFile)
void doAdbReboot ( NativeDevice.RebootMode rebootMode, String reason)

adb 재부팅을 수행합니다.

InputStreamSource getBugreportInternal ()
File getBugreportzInternal ()

bugreportz zip 파일을 ERROR(/File) 로 가져오는 내부 도우미 메서드입니다.

long getCheckNewUserSleep ()

테스트를 위해 노출되었습니다.

long getHostCurrentTime ()

테스트를 위해 노출됨

void prePostBootSetup ()

각 장치 유형(AndroidNativeDevice, TestDevice)이 특정 부팅 후 설정에 대해 이 메서드를 재정의할 수 있도록 허용합니다.

필드

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

키가드를 해제하는 데 사용할 수 있는 명령입니다.

공개 생성자

테스트 장치

public TestDevice (IDevice device, 
                IDeviceStateMonitor stateMonitor, 
                IDeviceMonitor allocationMonitor)

공개 메소드

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

헤드리스 SYSTEM 사용자로 전환이 허용되는지 여부를 반환합니다.

보고
boolean

던지기
DeviceNotAvailableException

클리어오류대화상자

public boolean clearErrorDialogs ()

현재 장치 UI에 표시되는 오류 대화 상자를 닫으려고 합니다.

보고
boolean 대화 상자가 없거나 대화 상자가 성공적으로 지워진 경우 true . 그렇지 않으면 false .

던지기
DeviceNotAvailableException

사용자 생성

public int createUser (String name)

지정된 이름과 기본 플래그 0을 사용하여 사용자를 만듭니다.

매개변수
name String : 장치에서 생성할 사용자의 것입니다.

보고
int 생성된 사용자 ID의 정수

던지기
DeviceNotAvailableException

사용자 생성

public int createUser (String name, 
                boolean guest, 
                boolean ephemeral, 
                boolean forTesting)

주어진 이름과 제공된 플래그를 사용하여 사용자를 생성합니다.

매개변수
name String : 장치에서 생성할 사용자의 것입니다.

guest boolean : 생성 중에 사용자 플래그 --guest를 활성화합니다.

ephemeral boolean : 생성 중에 사용자 플래그 --ephemeral을 활성화합니다.

forTesting boolean : 생성 중에 테스트 플래그 --for-testing을 활성화합니다.

보고
int 생성된 사용자의 ID

던지기
DeviceNotAvailableException

사용자 생성

public int createUser (String name, 
                boolean guest, 
                boolean ephemeral)

주어진 이름과 제공된 플래그를 사용하여 사용자를 생성합니다.

매개변수
name String : 장치에서 생성할 사용자의 것입니다.

guest boolean : 생성 중에 사용자 플래그 --guest를 활성화합니다.

ephemeral boolean : 생성 중에 사용자 플래그 --ephemeral을 활성화합니다.

보고
int 생성된 사용자의 ID

던지기
DeviceNotAvailableException

createUserNoThrow

public int createUserNoThrow (String name)

지정된 이름과 기본 플래그 0을 사용하여 사용자를 만듭니다.

매개변수
name String : 장치에서 생성할 사용자의 것입니다.

보고
int 생성된 사용자 ID의 정수 또는 오류의 경우 -1입니다.

던지기
DeviceNotAvailableException

비활성화키가드

public void disableKeyguard ()

키가드를 비활성화하려고 시도합니다.

먼저 입력 디스패치가 준비될 때까지 기다립니다. 이는 장치가 BOOT_COMPLETE를 보고하는 것과 거의 동시에 발생합니다. 현재 프레임워크 구현에는 가끔 경쟁 조건이 있기 때문에 비동기적으로 발생합니다. 그런 다음 키가드를 해제하라는 명령이 전송됩니다(비보안 키가드에서만 작동).

던지기
DeviceNotAvailableException

파일이 존재합니까?

public boolean doesFileExist (String deviceFilePath)

장치에 파일이 있는지 확인하는 도우미 메서드입니다.

매개변수
deviceFilePath String : 확인할 장치의 파일 절대 경로

보고
boolean 파일이 존재하면 true , 그렇지 않으면 false .

던지기
DeviceNotAvailableException

파일이 존재합니까?

public boolean doesFileExist (String deviceFilePath, 
                int userId)

특정 사용자에 대해 장치에 파일이 있는지 확인하는 도우미 메서드입니다.

매개변수
deviceFilePath String : 확인할 장치의 파일 절대 경로

userId int : 파일 존재 여부를 확인할 사용자 ID

보고
boolean 파일이 존재하면 true , 그렇지 않으면 false .

던지기
DeviceNotAvailableException

덤프힙

public File dumpHeap (String process, 
                String devicePath)

system_server에서 힙 덤프를 시도합니다. 덤프된 파일을 정리하는 것은 호출자의 책임입니다.

매개변수
process String : 덤프할 장치 프로세스의 이름입니다.

devicePath String : 덤프를 넣을 장치의 경로입니다. 권한이 허용되는 위치여야 합니다.

보고
File 보고서가 포함된 ERROR(/File) 입니다. 실패한 경우 Null입니다.

던지기
DeviceNotAvailableException

getActiveApexes

public  getActiveApexes ()

기기에서 활성화된 APEX에 대한 정보를 가져옵니다.

보고
현재 장치에서 활성화된 ApexInfoERROR(/Set)

던지기
DeviceNotAvailableException

getAllSettings

public  getAllSettings (String namespace)

요청된 네임스페이스의 키 값 쌍을 반환합니다.

매개변수
namespace String : {"system", "secure", "global"} 중 하나여야 합니다.

보고
키 값 쌍의 맵입니다. 네임스페이스가 지원되지 않으면 Null입니다.

던지기
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

userId에 연결된 android-id를 찾아서 반환합니다. 찾을 수 없으면 null입니다.

매개변수
userId int

보고
String

던지기
DeviceNotAvailableException

getAndroidId

public  getAndroidIds ()

사용자 ID와 일치하는 Android ID의 맵을 만듭니다. 각 사용자 ID가 이 함수와 연관된 Android ID를 발견하므로 일부 사용자 ID가 null과 일치할 수 있다는 보장은 없습니다.

보고
Android ID 지도에서 사용자 ID와 일치하는 것을 찾았습니다.

던지기
DeviceNotAvailableException

getAppPackage정보

public PackageInfo getAppPackageInfo (String packageName)

장치에 설치된 패키지에 대한 정보를 가져옵니다.

매개변수
packageName String

보고
PackageInfo PackageInfo . 정보를 검색할 수 없는 경우는 null

던지기
DeviceNotAvailableException

getAppPackageInfos

public  getAppPackageInfos ()

기기에 설치된 패키지 정보를 가져옵니다.

보고
장치에 설치된 PackageInfoERROR(/List) .

던지기
DeviceNotAvailableException

getBugreport

public InputStreamSource getBugreport ()

장치에서 버그 보고서를 검색합니다.

이 구현은 sdcard가 없는 장치(또는 sdcard가 아직 마운트되지 않은 장치)에서 계속 작동하도록 보장됩니다.

보고
InputStreamSource 요청 시 버그 보고서 콘텐츠를 생성하는 InputStreamSource . 실패할 경우, InputStreamSourceERROR(/InputStream) 생성합니다.

getBugreportz

public InputStreamSource getBugreportz ()

장치에서 버그 보고서를 검색합니다. Zip 형식의 버그 보고서에는 디버깅에 유용한 기본 버그 보고서와 기타 로그 파일이 포함되어 있습니다.

'adb 버전' > 1.0.36에서만 지원됩니다.

보고
InputStreamSource bugreportz가 포함된 zip 파일의 InputStreamSource 실패할 경우 null을 반환합니다.

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

기기의 현재 폴더블 상태를 반환하거나 일부 문제가 발생한 경우 null을 반환합니다.

보고
DeviceFoldableState

던지기
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

현재 실행 중인 사용자의 ID를 반환합니다. 오류가 발생하면 -10000을 반환합니다.

보고
int

던지기
DeviceNotAvailableException

getFoldableStates

public  getFoldableStates ()

기기의 폴더블 상태 목록을 반환합니다. "cmd device_state print-states"로 얻을 수 있습니다.

보고

던지기
DeviceNotAvailableException

getInstalledPackageNames

public  getInstalledPackageNames ()

기기에 있는 애플리케이션 패키지 이름을 가져옵니다.

보고
현재 장치에 설치된 String 패키지 이름의 ERROR(/Set) .

던지기
DeviceNotAvailableException

getKeyguard상태

public KeyguardControllerState getKeyguardState ()

키가드의 현재 상태를 가져오려면 객체를 반환하거나, 지원되지 않으면 null을 반환합니다.

보고
KeyguardControllerState 키가드 상태의 스냅샷을 포함하는 KeyguardControllerState 이며 키가드 쿼리가 지원되지 않는 경우 Null을 반환합니다.

던지기
DeviceNotAvailableException

getMainUserId

public Integer getMainUserId ()

기본 사용자 ID를 반환합니다.

보고
Integer 기본 사용자가 있으면 해당 사용자의 userId이고, 기본 사용자가 없으면 null입니다.

던지기
DeviceNotAvailableException

getMainlineModuleInfo

public  getMainlineModuleInfo ()

장치에 설치된 메인라인 모듈에 대한 정보를 가져옵니다.

보고
현재 장치에 설치된 String 메인라인 모듈의 ERROR(/Set) .

던지기
DeviceNotAvailableException

getMaxNumberOfRunningUsers지원됨

public int getMaxNumberOfRunningUsersSupported ()

지원되는 동시 실행 사용자의 최대 수를 가져옵니다. 기본값은 0입니다.

보고
int 동시에 실행 중인 사용자 수를 나타내는 정수

던지기
DeviceNotAvailableException

getMaxNumberOfUsers지원됨

public int getMaxNumberOfUsersSupported ()

지원되는 최대 사용자 수를 확보하세요. 기본값은 0입니다.

보고
int 지원되는 사용자 수를 나타내는 정수

던지기
DeviceNotAvailableException

getPrimaryUserId

public Integer getPrimaryUserId ()

기본 사용자 ID를 반환합니다.

보고
Integer 기본 사용자가 있는 경우 기본 사용자의 userId이고, 기본 사용자가 없으면 null입니다.

던지기
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot ()

장치에서 스크린샷을 찍습니다.

보고
InputStreamSource png 형식의 스크린샷의 InputStreamSource . 스크린샷이 성공하지 못한 경우는 null 입니다.

던지기
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

장치에서 스크린샷을 찍습니다. 더 작은 크기를 위해 JPEG 인코딩 대신 getScreenshot(String) 사용하는 것이 좋습니다.

매개변수
format String : 지원되는 PNG, JPEG

rescale boolean : 결과 이미지의 크기를 줄이기 위해 스크린샷의 크기를 조정해야 하는지 여부

보고
InputStreamSource 스크린샷 형식의 InputStreamSource . 스크린샷이 성공하지 못한 경우 null 입니다.

던지기
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format)

장치에서 스크린샷을 찍습니다. 더 작은 크기를 위해 JPEG 인코딩 대신 getScreenshot(format)을 사용하는 것이 좋습니다.

매개변수
format String : 지원되는 PNG, JPEG

보고
InputStreamSource 스크린샷 형식의 InputStreamSource . 스크린샷이 성공하지 못한 경우 null 입니다.

던지기
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (long displayId)

디스플레이 ID가 지정된 장치에서 스크린샷을 가져옵니다. 형식은 PNG입니다.

TODO: 위 구현을 확장하여 '형식' 및 '크기 조정'을 지원합니다.

매개변수
displayId long : 스크린샷을 가져올 화면의 디스플레이 ID입니다.

보고
InputStreamSource 스크린샷 형식의 InputStreamSource . 스크린샷이 성공하지 못한 경우 null 입니다.

던지기
DeviceNotAvailableException

getSetting

public String getSetting (String namespace, 
                String key)

getSetting(int, String, String) 참조하고 시스템 사용자에게 수행됩니다.

매개변수
namespace String

key String

보고
String

던지기
DeviceNotAvailableException

getSetting

public String getSetting (int userId, 
                String namespace, 
                String key)

요청된 설정의 값을 반환합니다. 네임스페이스는 {"system", "secure", "global"} 중 하나여야 합니다.

매개변수
userId int

namespace String

key String

보고
String 사용자의 네임스페이스:키와 연관된 값입니다. 찾을 수 없으면 Null입니다.

던지기
DeviceNotAvailableException

getUninstallablePackageNames

public  getUninstallablePackageNames ()

제거할 수 있는 애플리케이션 패키지 이름을 가져옵니다. 이는 현재 비시스템 패키지와 업데이트된 시스템 패키지로 정의됩니다.

보고
현재 장치에 설치되어 있는 제거 가능한 String 패키지 이름의 ERROR(/Set) .

던지기
DeviceNotAvailableException

getUserFlags

public int getUserFlags (int userId)

특정 사용자의 플래그를 찾아 반환합니다. 플래그는 Android 오픈소스 프로젝트의 "android.content.pm.UserInfo" 클래스에 정의되어 있습니다.

매개변수
userId int

보고
int 발견된 경우 제공된 userId와 관련된 플래그, 다른 경우에는 -10000입니다.

던지기
DeviceNotAvailableException

getUserInfos

public  getUserInfos ()

장치의 UserInfo 에 대한 useId 맵을 가져옵니다. 장치의 출력이 예상과 다른 경우 DeviceRuntimeException 발생합니다.

보고
UserInfo 개체 목록입니다.

던지기
DeviceNotAvailableException

getUser일련번호

public int getUserSerialNumber (int userId)

발견된 경우 userId와 연관된 일련 번호를 반환하고, 다른 경우에는 -10000을 반환합니다.

매개변수
userId int

보고
int

던지기
DeviceNotAvailableException

기능 있음

public boolean hasFeature (String feature)

장치에서 기능을 사용할 수 있는지 확인하십시오.

매개변수
feature String : "feature:" 형식이어야 합니다. " 또는 " " 곧장.

보고
boolean 기능이 발견되면 참이고, 그렇지 않으면 거짓입니다.

던지기
DeviceNotAvailableException

설치패키지

public String installPackage (File packageFile, 
                boolean reinstall, 
                String... extraArgs)

기기에 Android 패키지를 설치합니다.

매개변수
packageFile File : 설치할 apk 파일

reinstall boolean : 재설치를 수행해야 하는 경우 true

extraArgs String : 전달할 선택적 추가 인수입니다. 사용 가능한 옵션은 'adb shell pm -h'를 참조하세요.

보고
String 오류 코드가 포함된 String . 성공하면 null .

던지기
DeviceNotAvailableException

설치패키지

public String installPackage (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

기기에 Android 패키지를 설치합니다.

참고: 설치 시 런타임 권한 부여를 명시적으로 제어해야 하는 사용 사례에서만 이 함수를 호출해야 합니다.

매개변수
packageFile File : 설치할 apk 파일

reinstall boolean : 재설치를 수행해야 하는 경우 true

grantPermissions boolean : 설치 시 모든 런타임 권한을 부여해야 하는지 여부

extraArgs String : 전달할 선택적 추가 인수입니다. 사용 가능한 옵션은 'adb shell pm -h'를 참조하세요.

보고
String 오류 코드가 포함된 String . 성공하면 null .

던지기
DeviceNotAvailableException

설치패키지

public String installPackage (File packageFile, 
                File certFile, 
                boolean reinstall, 
                String... extraArgs)

기기에 Android 패키지를 설치합니다.

참고: 설치 시 런타임 권한 부여를 명시적으로 제어해야 하는 사용 사례에서만 이 함수를 호출해야 합니다.

매개변수
packageFile File : 설치할 apk 파일

certFile File : 재설치를 수행해야 하는 경우 true

reinstall boolean : 설치 시 모든 런타임 권한을 부여해야 하는지 여부

extraArgs String : 전달할 선택적 추가 인수입니다. 사용 가능한 옵션은 'adb shell pm -h'를 참조하세요.

보고
String 오류 코드가 포함된 String . 성공하면 null .

던지기
DeviceNotAvailableException

installPackageForUser

public String installPackageForUser (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

특정 사용자의 기기에 Android 패키지를 설치합니다.

참고: 설치 시 런타임 권한 부여를 명시적으로 제어해야 하는 사용 사례에서만 이 함수를 호출해야 합니다.

매개변수
packageFile File : 설치할 apk 파일

reinstall boolean : 재설치를 수행해야 하는 경우 true

grantPermissions boolean : 설치 시 모든 런타임 권한을 부여해야 하는지 여부

userId int : 설치할 정수 사용자 ID입니다.

extraArgs String : 전달할 선택적 추가 인수입니다. 사용 가능한 옵션은 'adb shell pm -h'를 참조하세요.

보고
String 오류 코드가 포함된 String . 성공하면 null .

던지기
DeviceNotAvailableException

installPackageForUser

public String installPackageForUser (File packageFile, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

특정 사용자의 기기에 Android 패키지를 설치합니다.

매개변수
packageFile File : 설치할 apk 파일

reinstall boolean : 재설치를 수행해야 하는 경우 true

userId int : 설치할 정수 사용자 ID입니다.

extraArgs String : 전달할 선택적 추가 인수입니다. 사용 가능한 옵션은 'adb shell pm -h'를 참조하세요.

보고
String 오류 코드가 포함된 String . 성공하면 null .

던지기
DeviceNotAvailableException

설치패키지

public String installPackages ( packageFiles, 
                boolean reinstall, 
                String... extraArgs)

매개변수
packageFiles

reinstall boolean

extraArgs String

보고
String

던지기
DeviceNotAvailableException

설치패키지

public String installPackages ( packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

매개변수
packageFiles

reinstall boolean

grantPermissions boolean

extraArgs String

보고
String

던지기
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser ( packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

매개변수
packageFiles

reinstall boolean

grantPermissions boolean

userId int

extraArgs String

보고
String

던지기
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser ( packageFiles, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

매개변수
packageFiles

reinstall boolean

userId int

extraArgs String

보고
String

던지기
DeviceNotAvailableException

원격 패키지 설치

public String installRemotePackages ( remoteApkPaths, 
                boolean reinstall, 
                String... extraArgs)

매개변수
remoteApkPaths

reinstall boolean

extraArgs String

보고
String

던지기
DeviceNotAvailableException

원격 패키지 설치

public String installRemotePackages ( remoteApkPaths, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

매개변수
remoteApkPaths

reinstall boolean

grantPermissions boolean

extraArgs String

보고
String

던지기
DeviceNotAvailableException

isAppEnumeration지원됨

public boolean isAppEnumerationSupported ()

기기의 플랫폼이 앱 열거를 지원하는지 확인하세요.

보고
boolean 앱 열거가 지원되면 true이고, 그렇지 않으면 false입니다.

던지기
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

장치가 헤드리스 시스템 사용자 모드를 사용하는지 여부를 반환합니다.

보고
boolean

던지기
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

기본 사용자가 영구 관리자인지, 삭제하거나 관리자가 아닌 상태로 다운그레이드할 수 없는지 여부를 반환합니다.

보고
boolean

던지기
DeviceNotAvailableException

다중 사용자 지원됨

public boolean isMultiUserSupported ()

다중 사용자가 지원되는지 결정합니다.

보고
boolean 다중 사용자가 지원되면 true, 그렇지 않으면 false

던지기
DeviceNotAvailableException

isPackageInstalled입니다.

public boolean isPackageInstalled (String packageName)

특정 패키지 이름을 장치에 쿼리하여 현재 설치되어 있는지 확인하세요.

매개변수
packageName String

보고
boolean 패키지가 설치된 것으로 보고되면 참입니다. 그렇지 않으면 거짓입니다.

던지기
DeviceNotAvailableException

isPackageInstalled입니다.

public boolean isPackageInstalled (String packageName, 
                String userId)

주어진 패키지 이름과 주어진 사용자 ID에 대해 장치를 쿼리하여 해당 사용자에 대해 현재 설치되어 있는지 확인합니다.

매개변수
packageName String : 설치 여부를 확인하는 패키지입니다.

userId String : 패키지가 설치되었는지 확인하는 사용자 ID입니다. null인 경우 기본 사용자 0이 사용됩니다.

보고
boolean 패키지가 설치된 것으로 보고되면 참입니다. 그렇지 않으면 거짓입니다.

던지기
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

특정 사용자가 실행 중인지 확인합니다.

매개변수
userId int

보고
boolean 사용자가 실행 중이면 참이고, 다른 모든 경우에는 거짓입니다.

던지기
DeviceNotAvailableException

isUserSecondary

public boolean isUserSecondary (int userId)

플래그에 따라 지정된 사용자가 보조 사용자인지 여부를 반환합니다.

매개변수
userId int

보고
boolean 사용자가 보조 사용자이면 true이고, 그렇지 않으면 false입니다.

던지기
DeviceNotAvailableException

isUserVisible

public boolean isUserVisible (int userId)

해당 사용자가 표시되는지 확인합니다.

"표시되는" 사용자는 "사람" 사용자와 상호 작용하므로 실행 활동을 시작할 수 있는 사용자입니다(일반적으로 기본 디스플레이에서).

매개변수
userId int

보고
boolean

던지기
DeviceNotAvailableException

isUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

지정된 사용자가 지정된 디스플레이에 표시되는지 확인합니다.

"보이는" 사용자는 "사람" 사용자와 상호 작용하므로 해당 디스플레이에서 실행 활동을 시작할 수 있는 사용자입니다.

매개변수
userId int

displayId int

보고
boolean

던지기
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplay지원됨

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

ERROR(/java.android.view.Display#DEFAULT_DISPLAY) 에서 기기가 사용자가 백그라운드에서 볼 수 있도록 허용하는지 여부를 반환합니다.

그렇다면 startVisibleBackgroundUser(int, int, boolean) 호출하여 listDisplayIdsForStartingVisibleBackgroundUsers() ( ERROR(/java.android.view.Display#DEFAULT_DISPLAY) 포함해야 함)에서 반환된 디스플레이를 전달할 수 있습니다.

보고
boolean

던지기
DeviceNotAvailableException

isVisibleBackgroundUsers지원됨

public boolean isVisibleBackgroundUsersSupported ()

장치가 사용자가 백그라운드에서 볼 수 있도록 시작할 수 있는지 여부를 반환합니다.

그렇다면 startVisibleBackgroundUser(int, int, boolean) 호출하여 listDisplayIdsForStartingVisibleBackgroundUsers() 에서 반환된 디스플레이를 전달할 수 있습니다.

보고
boolean

던지기
DeviceNotAvailableException

목록디스플레이 ID

public  listDisplayIds ()

"dumpsys SurfaceFlinger"에서 보고한 대로 장치에서 사용 가능한 디스플레이 ID 목록을 수집합니다.

보고
디스플레이 목록입니다. 기본값은 항상 기본 디스플레이 0을 반환합니다.

던지기
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

start a user visible in the background 데 사용할 수 있는 디스플레이 목록을 가져옵니다.

보고

던지기
DeviceNotAvailableException

목록사용자

public  listUsers ()

기기의 사용자 목록을 가져옵니다. 장치의 출력이 예상과 다른 경우 DeviceRuntimeException 발생합니다.

보고
사용자 ID 목록입니다.

던지기
DeviceNotAvailableException

로그버그 신고

public boolean logBugreport (String dataName, 
                ITestLogger listener)

버그 신고를 받아 기자에게 기록하는 도우미 메서드입니다.

매개변수
dataName String : 버그 신고가 보고될 이름입니다.

listener ITestLogger : 버그 보고서를 기록하는 ITestLogger 입니다.

보고
boolean 로깅이 성공하면 True이고, 그렇지 않으면 False입니다.

postInvocationTearDown

public void postInvocationTearDown (Throwable exception)

호출이 완료된 후 실행될 장치별 필수 정리를 위한 추가 단계입니다.

매개변수
exception Throwable : 있는 경우 호출 실패로 인해 발생한 최종 예외입니다.

제거관리자

public boolean removeAdmin (String componentName, 
                int userId)

특정 사용자에서 해당 장치 관리자를 제거하고 성공하면 true 반환하고, 그렇지 않으면 false 반환합니다.

매개변수
componentName String : 제거할 장치 관리자의 이름입니다.

userId int : 장치 관리자가 거주하는 사용자입니다.

보고
boolean 성공하면 참, 그렇지 않으면 거짓입니다.

던지기
DeviceNotAvailableException

소유자 제거

public void removeOwners ()

최선을 다해 기존 장치 프로필 소유자를 모두 제거하세요.

던지기
DeviceNotAvailableException

사용자 제거

public boolean removeUser (int userId)

장치에서 특정 사용자를 제거합니다.

매개변수
userId int : 제거할 사용자의

보고
boolean 사용자 제거에 성공하면 true이고, 그렇지 않으면 false입니다.

던지기
DeviceNotAvailableException

setDeviceOwner

public boolean setDeviceOwner (String componentName, 
                int userId)

특정 사용자의 장치 관리자 구성 요소를 장치 소유자로 설정합니다.

매개변수
componentName String : 장치 관리자가 장치 소유자가 됩니다.

userId int : 장치 소유자가 거주하는 사용자입니다.

보고
boolean 성공하면 참, 그렇지 않으면 거짓입니다.

던지기
DeviceNotAvailableException

설정설정

public void setSetting (String namespace, 
                String key, 
                String value)

setSetting(int, String, String, String) 참조하고 시스템 사용자에게 수행됩니다.

매개변수
namespace String

key String

value String

던지기
DeviceNotAvailableException

설정설정

public void setSetting (int userId, 
                String namespace, 
                String key, 
                String value)

특정 사용자의 네임스페이스에 설정 값을 추가합니다. 일부 설정은 재부팅 후에만 사용할 수 있습니다. 네임스페이스는 {"system", "secure", "global"} 중 하나여야 합니다.

매개변수
userId int

namespace String

key String

value String

던지기
DeviceNotAvailableException

종료Microdroid

public void shutdownMicrodroid (ITestDevice microdroidDevice)

마이크로드로이드 장치가 있는 경우 종료합니다.

매개변수
microdroidDevice ITestDevice

던지기
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

시작사용자

public boolean startUser (int userId)

현재 중지된 경우 지정된 사용자를 백그라운드에서 시작합니다. 사용자가 이미 백그라운드에서 실행 중인 경우 이 메서드는 NOOP입니다.

매개변수
userId int : 백그라운드에서 시작할 사용자

보고
boolean 사용자가 백그라운드에서 성공적으로 시작된 경우 true입니다.

던지기
DeviceNotAvailableException

시작사용자

public boolean startUser (int userId, 
                boolean waitFlag)

현재 중지된 경우 지정된 사용자를 백그라운드에서 시작합니다. 사용자가 이미 백그라운드에서 실행 중인 경우 이 메서드는 NOOP입니다. 작업이 적용될 때까지 기다리기 위해 추가 플래그를 제공할 수 있습니다.

매개변수
userId int : 백그라운드에서 시작할 사용자

waitFlag boolean : 사용자가 시작되고 잠금이 해제될 때까지 명령을 기다리게 합니다.

보고
boolean 사용자가 백그라운드에서 성공적으로 시작된 경우 true입니다.

던지기
DeviceNotAvailableException

startVisibleBackgroundUser

public boolean startVisibleBackgroundUser (int userId, 
                int displayId, 
                boolean waitFlag)

지정된 디스플레이에 표시되는 백그라운드에서 지정된 사용자를 시작합니다(즉, 사용자가 해당 디스플레이에서 활동을 시작할 수 있도록 허용).

참고: 이 명령은 사용자가 존재하는지, 디스플레이가 사용 가능한지, device supports such feature 등을 확인하지 않습니다.

매개변수
userId int : 백그라운드에서 시작할 사용자

displayId int : 사용자가 볼 수 있는 시작 표시

waitFlag boolean : 사용자가 시작되고 잠금이 해제될 때까지 명령을 기다리게 합니다.

보고
boolean 사용자가 성공적으로 시작된 경우 true . 백그라운드에 표시됩니다.

던지기
DeviceNotAvailableException

중지사용자

public boolean stopUser (int userId, 
                boolean waitFlag, 
                boolean forceFlag)

특정 사용자를 중지합니다. 작업이 적용될 때까지 기다리기 위한 추가 플래그를 제공하고 사용자를 강제 종료할 수 있습니다. 현재 사용자와 시스템 사용자를 중지할 수 없습니다.

매개변수
userId int : 중지할 사용자의 이름입니다.

waitFlag boolean : 사용자가 중지될 때까지 명령을 기다리게 합니다.

forceFlag boolean : 사용자를 강제로 중지합니다.

보고
boolean 사용자가 성공적으로 중지된 경우 true입니다.

던지기
DeviceNotAvailableException

중지사용자

public boolean stopUser (int userId)

지정된 사용자를 중지합니다. 사용자가 이미 중지된 경우 이 메서드는 NOOP입니다. 현재 사용자와 시스템 사용자를 중지할 수 없습니다.

매개변수
userId int : 중지할 사용자의 이름입니다.

보고
boolean 사용자가 성공적으로 중지된 경우 true입니다.

던지기
DeviceNotAvailableException

지원Microdroid

public boolean supportsMicrodroid ()

마이크로드로이드를 실행하기 위한 전제조건을 확인합니다.

보고
boolean 전제 조건이 충족되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

지원Microdroid

public boolean supportsMicrodroid (boolean protectedVm)

마이크로드로이드를 실행하기 위한 전제조건을 확인합니다.

매개변수
protectedVm boolean : microdroid가 보호된 VM에서 실행되도록 의도된 경우 true입니다.

보고
boolean 전제 조건이 충족되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

스위치사용자

public boolean switchUser (int userId)

기본 시간 제한을 사용하여 다른 userId로 전환합니다. switchUser(int, long) .

매개변수
userId int

보고
boolean 새 userId가 userId 공급자와 일치하면 참입니다. 그렇지 않으면 거짓입니다.

던지기
DeviceNotAvailableException

스위치사용자

public boolean switchUser (int userId, 
                long timeout)

제공된 제한 시간을 기한으로 사용하여 다른 userId로 전환합니다. 사용자 변경이 성공한 후 키가드를 비활성화해 보십시오.

매개변수
userId int

timeout long : 사용자 전환이 실패했을 때 false를 반환하기 전에 기다립니다.

보고
boolean 새 userId가 userId 공급자와 일치하면 참입니다. 그렇지 않으면 거짓입니다.

던지기
DeviceNotAvailableException

버그 신고

public Bugreport takeBugreport ()

버그 보고서를 가져와 Bugreport 개체 내부에 반환하여 처리합니다. 문제가 있는 경우 null을 반환합니다. Bugreport 개체에서 참조된 파일은 Bugreport.close() 통해 정리해야 합니다.

보고
Bugreport

제거패키지

public String uninstallPackage (String packageName)

기기에서 Android 패키지를 제거합니다.

매개변수
packageName String : 제거할 Android 패키지

보고
String 오류 코드가 포함된 String . 성공하면 null .

던지기
DeviceNotAvailableException

uninstallPackageForUser

public String uninstallPackageForUser (String packageName, 
                int userId)

특정 사용자의 기기에서 Android 패키지를 제거합니다.

매개변수
packageName String : 제거할 Android 패키지

userId int : 제거할 정수 사용자 ID입니다.

보고
String 오류 코드가 포함된 String . 성공하면 null .

던지기
DeviceNotAvailableException

보호된 방법

생성파서

protected AaptParser createParser (File appFile)

매개변수
appFile File

보고
AaptParser

doAdbReboot

protected void doAdbReboot (NativeDevice.RebootMode rebootMode, 
                String reason)

adb 재부팅을 수행합니다.

매개변수
rebootMode NativeDevice.RebootMode : 이 재부팅 모드입니다.

reason String : 이번 재부팅을 위한 것입니다.

던지기
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBugreport내부

protected InputStreamSource getBugreportInternal ()

보고
InputStreamSource

getBugreportz내부

protected File getBugreportzInternal ()

bugreportz zip 파일을 ERROR(/File) 로 가져오는 내부 도우미 메서드입니다.

보고
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

테스트를 위해 노출되었습니다.

보고
long

getHostCurrentTime

protected long getHostCurrentTime ()

테스트를 위해 노출됨

보고
long

사전 PostBoot 설정

protected void prePostBootSetup ()

각 장치 유형(AndroidNativeDevice, TestDevice)이 특정 부팅 후 설정에 대해 이 메서드를 재정의할 수 있도록 허용합니다.

던지기
DeviceNotAvailableException