TestDevice
public
class
TestDevice
extends NativeDevice
전체 스택 Android 기기의 ITestDevice 구현
요약
공개 메서드 |
String
|
adbInstallPackage(File packageFile, boolean reinstall, String... extraArgs)
adb 명령어로 기기에 Android 패키지를 설치합니다.
|
String
|
adbInstallPackage(File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)
adb 명령어로 기기에 Android 패키지를 설치합니다.
|
boolean
|
canSwitchToHeadlessSystemUser()
헤드리스 시스템 사용자로 전환이 허용되는지 여부를 반환합니다.
|
boolean
|
clearErrorDialogs()
현재 기기 UI에 표시된 오류 대화상자를 닫으려고 시도합니다.
|
int
|
createUser(String name)
지정된 이름과 기본 플래그 0으로 사용자를 만듭니다.
|
int
|
createUser(String name, boolean guest, boolean ephemeral)
지정된 이름과 제공된 플래그로 사용자를 만듭니다.
|
int
|
createUser(String name, boolean guest, boolean ephemeral, boolean forTesting)
지정된 이름과 제공된 플래그로 사용자를 만듭니다.
|
int
|
createUserNoThrow(String name)
지정된 이름과 기본 플래그 0으로 사용자를 만듭니다.
|
void
|
disableKeyguard()
키가드를 사용 중지하려고 시도합니다.
|
boolean
|
doesFileExist(String deviceFilePath, int userId)
지정된 사용자의 기기에 파일이 있는지 확인하는 도우미 메서드
|
boolean
|
doesFileExist(String deviceFilePath)
기기에 파일이 있는지 확인하는 도우미 메서드
|
File
|
dumpHeap(String process, String devicePath)
system_server에서 힙을 덤프하려고 시도합니다.
|
Set<ITestDevice.ApexInfo>
|
getActiveApexes()
기기에서 활성화된 APEX에 관한 정보를 가져옵니다.
|
Map<String, String>
|
getAllSettings(String namespace)
요청된 네임스페이스의 키-값 쌍을 반환합니다.
|
String
|
getAndroidId(int userId)
userId와 연결된 android-id를 찾아 반환합니다. 찾을 수 없는 경우 null을 반환합니다.
|
Map<Integer, String>
|
getAndroidIds()
일치하는 사용자 ID가 있는 Android ID의 지도를 만듭니다.
|
PackageInfo
|
getAppPackageInfo(String packageName)
기기에 설치된 패키지에 관한 정보를 가져옵니다.
|
List<PackageInfo>
|
getAppPackageInfos()
기기에 설치된 패키지의 정보를 가져옵니다.
|
InputStreamSource
|
getBugreport()
기기에서 버그 신고를 가져옵니다.
|
InputStreamSource
|
getBugreportz()
기기에서 bugreportz를 가져옵니다.
|
DeviceFoldableState
|
getCurrentFoldableState()
문제가 발생한 경우 기기의 현재 폴더블 상태를 반환하거나 null을 반환합니다.
|
int
|
getCurrentUser()
현재 실행 중인 사용자의 ID를 반환합니다.
|
Set<DeviceFoldableState>
|
getFoldableStates()
기기의 폴더블 상태 목록을 반환합니다.
|
Set<String>
|
getInstalledPackageNames()
기기에 있는 애플리케이션 패키지 이름을 가져옵니다.
|
KeyguardControllerState
|
getKeyguardState()
키가드의 현재 상태를 가져오는 객체를 반환하거나 지원되지 않는 경우 null을 반환합니다.
|
Integer
|
getMainUserId()
기본 사용자 ID를 반환합니다.
|
Set<String>
|
getMainlineModuleInfo()
기기에 설치된 Mainline 모듈에 관한 정보를 가져옵니다.
|
int
|
getMaxNumberOfRunningUsersSupported()
지원되는 동시 실행 사용자 수를 가져옵니다.
|
int
|
getMaxNumberOfUsersSupported(String userType)
지정된 사용자 유형의 지원되는 최대 사용자 수를 가져옵니다.
|
int
|
getMaxNumberOfUsersSupported()
게스트를 제외하고 지원되는 전환 가능한 최대 사용자 수를 가져옵니다.
|
Integer
|
getPrimaryUserId()
기본 사용자 ID를 반환합니다.
|
int
|
getRemainingCreatableUserCount(String userType)
이 기기에서 만들 수 있는 지정된 사용자 유형의 사용자 수를 반환합니다.
|
InputStreamSource
|
getScreenshot(Long displayId, String format, boolean rescale)
지원되는 형식으로 지정된 디스플레이 ID의 기기에서 스크린샷을 가져옵니다.
|
InputStreamSource
|
getScreenshot(String format, boolean rescale)
기기에서 스크린샷을 가져옵니다.
|
InputStreamSource
|
getScreenshot(String format)
기기에서 스크린샷을 가져옵니다.
|
InputStreamSource
|
getScreenshot(long displayId)
지정된 디스플레이 ID의 기기에서 스크린샷을 가져옵니다.
|
InputStreamSource
|
getScreenshot()
기기에서 스크린샷을 가져옵니다.
|
String
|
getSetting(int userId, String namespace, String key)
요청된 설정의 값을 반환합니다.
|
String
|
getSetting(String namespace, String key)
getSetting(int,String,String)를 참고하고 시스템 사용자에 대해 실행됩니다.
|
Set<String>
|
getUninstallablePackageNames()
제거할 수 있는 애플리케이션 패키지 이름을 가져옵니다.
|
int
|
getUserFlags(int userId)
지정된 사용자의 플래그를 찾아 반환합니다.
|
Map<Integer, UserInfo>
|
getUserInfos()
기기에서 useId와 UserInfo의 맵을 가져옵니다.
|
int
|
getUserSerialNumber(int userId)
userId와 연결된 일련번호를 찾은 경우 반환하고, 그 외의 경우에는 -10000을 반환합니다.
|
int
|
getUserVisibleOnDisplay(int displayId)
지정된 디스플레이에서 표시되는 사용자의 사용자 ID를 가져옵니다.
|
boolean
|
hasFeature(String feature)
기기에서 기능을 사용할 수 있는지 확인합니다.
|
String
|
installPackage(File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)
기기에 Android 패키지를 설치합니다.
|
String
|
installPackage(File packageFile, 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 패키지를 설치합니다.
|
boolean
|
installPackageWithIncrementalMode(File[] apkFiles, String[] extraArgs, String userId)
증분 모드로 APK를 설치합니다.
|
String
|
installPackages(List<File> packageFiles, boolean reinstall, String... extraArgs)
|
String
|
installPackages(List<File> packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs)
|
String
|
installPackagesForUser(List<File> packageFiles, boolean reinstall, int userId, String... extraArgs)
|
String
|
installPackagesForUser(List<File> packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)
|
boolean
|
isAppEnumerationSupported()
기기의 플랫폼이 앱 열거를 지원하는지 확인
|
boolean
|
isHeadlessSystemUserMode()
기기에서 헤드리스 시스템 사용자 모드를 사용하는지 여부를 반환합니다.
|
boolean
|
isMainUserPermanentAdmin()
기본 사용자가 영구 관리자이며 삭제하거나 비관리자 상태로 다운그레이드할 수 없는지 여부를 반환합니다.
|
boolean
|
isMultiUserSupported()
이 기기가 자체 로그인과 맞춤설정 가능한 공간이 있는 전환 가능한 여러 사용자를 지원하는지 여부를 반환합니다.
|
boolean
|
isPackageInstalled(String packageName, String userId)
지정된 패키지 이름과 지정된 사용자 ID로 기기를 쿼리하여 해당 사용자에 대해 현재 설치되어 있는지 확인합니다.
|
boolean
|
isPackageInstalled(String packageName)
특정 패키지 이름으로 기기를 쿼리하여 현재 설치되어 있는지 확인합니다.
|
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()
기기에서 사용자가 백그라운드에서 표시되도록 시작할 수 있는지 여부를 반환합니다.
|
Set<Long>
|
listDisplayIds()
'dumpsys SurfaceFlinger'에서 보고한 대로 기기에서 사용할 수 있는 디스플레이 ID 목록을 수집합니다.
|
Set<Integer>
|
listDisplayIdsForStartingVisibleBackgroundUsers()
start a user visible in the background에 사용할 수 있는 디스플레이 목록을 가져옵니다.
|
ArrayList<Integer>
|
listUsers()
기기의 사용자 목록을 가져옵니다.
|
boolean
|
logBugreport(String dataName, ITestLogger listener)
버그 신고를 가져와 신고자에게 로깅하는 도우미 메서드
|
void
|
notifySnapuserd(SnapuserdWaitPhase waitPhase)
|
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
|
setFirstBootloaderReboot()
|
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)
microdroid 기기가 있는 경우 종료합니다.
|
boolean
|
startUser(int userId)
현재 중지된 경우 지정된 사용자를 백그라운드에서 시작합니다.
|
boolean
|
startUser(int userId, boolean waitFlag)
현재 중지된 경우 지정된 사용자를 백그라운드에서 시작합니다.
|
boolean
|
startVisibleBackgroundUser(int userId, int displayId, boolean waitFlag)
지정된 디스플레이에 표시되는 백그라운드에서 지정된 사용자를 시작합니다 (즉, 사용자가 해당 디스플레이에서 활동을 실행할 수 있음).
|
boolean
|
stopUser(int userId)
지정된 사용자를 중지합니다.
|
boolean
|
stopUser(int userId, boolean waitFlag, boolean forceFlag)
특정 사용자를 중지합니다.
|
boolean
|
supportsMicrodroid()
microdroid를 실행하기 위한 사전 조건을 확인합니다.
|
boolean
|
supportsMicrodroid(boolean protectedVm)
microdroid를 실행하기 위한 사전 조건을 확인합니다.
|
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 패키지를 제거합니다.
|
void
|
waitForSnapuserd(SnapuserdWaitPhase currentPhase)
|
상수
DISMISS_KEYGUARD_CMD
public static final String DISMISS_KEYGUARD_CMD
키가드를 닫는 데 사용할 수 있는 명령어
상수 값:
"input keyevent 82"
공개 생성자
공개 메서드
adbInstallPackage
public String adbInstallPackage (File packageFile,
boolean reinstall,
String... extraArgs)
adb 명령어로 기기에 Android 패키지를 설치합니다.
| 매개변수 |
packageFile |
File: 설치할 APK 파일 |
reinstall |
boolean: 재설치를 실행해야 하는 경우 true |
extraArgs |
String: 전달할 선택적 추가 인수입니다. 사용 가능한 옵션은 'adb shell pm -h'를 참고하세요. |
| 반환 |
String |
오류 코드가 있는 String 또는 성공 시 null |
adbInstallPackage
public String adbInstallPackage (File packageFile,
boolean reinstall,
boolean grantPermissions,
String... extraArgs)
adb 명령어로 기기에 Android 패키지를 설치합니다.
참고: 설치 시 런타임 권한 부여를 명시적으로 제어해야 하는 사용 사례만 이 함수를 호출해야 합니다.
| 매개변수 |
packageFile |
File: 설치할 APK 파일 |
reinstall |
boolean: 재설치를 실행해야 하는 경우 true |
grantPermissions |
boolean: 설치 시 모든 런타임 권한을 부여해야 하는 경우 |
extraArgs |
String: 전달할 선택적 추가 인수입니다. 사용 가능한 옵션은 'adb shell pm -h'를 참고하세요. |
| 반환 |
String |
오류 코드가 있는 String 또는 성공 시 null |
canSwitchToHeadlessSystemUser
public boolean canSwitchToHeadlessSystemUser ()
헤드리스 시스템 사용자로 전환이 허용되는지 여부를 반환합니다.
clearErrorDialogs
public boolean clearErrorDialogs ()
현재 기기 UI에 표시된 오류 대화상자를 닫으려고 시도합니다.
| 반환 |
boolean |
대화상자가 없거나 대화상자가 성공적으로 삭제된 경우 true
그 외의 경우 false |
createUser
public int createUser (String name)
지정된 이름과 기본 플래그 0으로 사용자를 만듭니다.
| 매개변수 |
name |
String: 기기에 생성할 사용자 |
createUser
public int createUser (String name,
boolean guest,
boolean ephemeral)
지정된 이름과 제공된 플래그로 사용자를 만듭니다.
| 매개변수 |
name |
String: 기기에 생성할 사용자 |
guest |
boolean: 생성 중에 사용자 플래그 --guest 사용 설정 |
ephemeral |
boolean: 생성 중에 사용자 플래그 --ephemeral 사용 설정 |
createUser
public int createUser (String name,
boolean guest,
boolean ephemeral,
boolean forTesting)
지정된 이름과 제공된 플래그로 사용자를 만듭니다.
| 매개변수 |
name |
String: 기기에 생성할 사용자 |
guest |
boolean: 생성 중에 사용자 플래그 --guest 사용 설정 |
ephemeral |
boolean: 생성 중에 사용자 플래그 --ephemeral 사용 설정 |
forTesting |
boolean: 생성 중에 테스트 플래그 --for-testing 사용 설정 |
createUserNoThrow
public int createUserNoThrow (String name)
지정된 이름과 기본 플래그 0으로 사용자를 만듭니다.
| 매개변수 |
name |
String: 기기에 생성할 사용자 |
| 반환 |
int |
생성된 사용자 ID의 정수 또는 오류의 경우 -1 |
disableKeyguard
public void disableKeyguard ()
키가드를 사용 중지하려고 시도합니다.
먼저 입력 디스패치가 준비될 때까지 기다립니다. 이는 기기에서 BOOT_COMPLETE를 보고하는 시점과 거의 동시에 발생합니다. 현재 프레임워크 구현에 가끔 경합 상태가 있기 때문에 비동기식으로 발생합니다. 그런 다음 키가드를 닫는 명령어가 전송됩니다 (보안되지 않은 기기에서만 작동).
doesFileExist
public boolean doesFileExist (String deviceFilePath,
int userId)
지정된 사용자의 기기에 파일이 있는지 확인하는 도우미 메서드
| 매개변수 |
deviceFilePath |
String: 확인할 기기의 파일 절대 경로 |
userId |
int: 파일 존재 여부를 확인할 사용자 ID |
| 반환 |
boolean |
파일이 있으면 true, 그렇지 않으면 false입니다. |
doesFileExist
public boolean doesFileExist (String deviceFilePath)
기기에 파일이 있는지 확인하는 도우미 메서드
| 매개변수 |
deviceFilePath |
String: 확인할 기기의 파일 절대 경로 |
| 반환 |
boolean |
파일이 있으면 true, 그렇지 않으면 false입니다. |
dumpHeap
public File dumpHeap (String process,
String devicePath)
system_server에서 힙을 덤프하려고 시도합니다. 덤프된 파일을 정리하는 것은 호출자의 책임입니다.
| 매개변수 |
process |
String: dumpheap할 기기 프로세스의 이름입니다. |
devicePath |
String: 덤프를 배치할 기기의 경로입니다. 권한이 허용되는 위치여야 합니다. |
| 반환 |
File |
보고서가 포함된 File 실패한 경우 null입니다. |
getAllSettings
public Map<String, String> getAllSettings (String namespace)
요청된 네임스페이스의 키-값 쌍을 반환합니다.
| 매개변수 |
namespace |
String: {'system', 'secure', 'global'} 중 하나여야 합니다. |
| 반환 |
Map<String, String> |
키-값 쌍의 맵입니다. 네임스페이스가 지원되지 않는 경우 null입니다. |
getAndroidId
public String getAndroidId (int userId)
userId와 연결된 android-id를 찾아 반환합니다. 찾을 수 없는 경우 null을 반환합니다.
getAndroidIds
public Map<Integer, String> getAndroidIds ()
일치하는 사용자 ID가 있는 Android ID의 지도를 만듭니다. 각 사용자 ID가 이 함수에서 연결된 Android ID를 찾을 수 있다는 보장은 없으므로 일부 사용자 ID는 null과 일치할 수 있습니다.
| 반환 |
Map<Integer, String> |
일치하는 사용자 ID가 발견된 Android ID의 맵입니다. |
getAppPackageInfo
public PackageInfo getAppPackageInfo (String packageName)
기기에 설치된 패키지에 관한 정보를 가져옵니다.
getAppPackageInfos
public List<PackageInfo> getAppPackageInfos ()
기기에 설치된 패키지의 정보를 가져옵니다.
getBugreport
public InputStreamSource getBugreport ()
기기에서 버그 신고를 가져옵니다.
이 구현은 sdcard가 없는 기기(또는 sdcard가 아직 마운트되지 않은 기기)에서 계속 작동합니다.
getBugreportz
public InputStreamSource getBugreportz ()
기기에서 bugreportz를 가져옵니다. ZIP 형식 버그 신고에는 디버깅에 유용한 기본 버그 신고와 기타 로그 파일이 포함됩니다.
'adb version' > 1.0.36에서만 지원됨
getCurrentFoldableState
public DeviceFoldableState getCurrentFoldableState ()
문제가 발생한 경우 기기의 현재 폴더블 상태를 반환하거나 null을 반환합니다.
getCurrentUser
public int getCurrentUser ()
현재 실행 중인 사용자의 ID를 반환합니다. 오류가 발생하면 -10000을 반환합니다.
getFoldableStates
public Set<DeviceFoldableState> getFoldableStates ()
기기의 폴더블 상태 목록을 반환합니다. 'cmd device_state
print-states'로 가져올 수 있습니다.
getInstalledPackageNames
public Set<String> getInstalledPackageNames ()
기기에 있는 애플리케이션 패키지 이름을 가져옵니다.
| 반환 |
Set<String> |
현재 기기에 설치된 패키지 이름 String개의 Set |
getKeyguardState
public KeyguardControllerState getKeyguardState ()
키가드의 현재 상태를 가져오는 객체를 반환하거나 지원되지 않는 경우 null을 반환합니다.
getMainUserId
public Integer getMainUserId ()
기본 사용자 ID를 반환합니다.
| 반환 |
Integer |
기본 사용자가 있는 경우 기본 사용자의 userId이고, 기본 사용자가 없는 경우 null입니다. |
getMainlineModuleInfo
public Set<String> getMainlineModuleInfo ()
기기에 설치된 Mainline 모듈에 관한 정보를 가져옵니다.
| 반환 |
Set<String> |
현재 기기에 설치된 String 메인라인 모듈의 Set입니다. |
public int getMaxNumberOfRunningUsersSupported ()
지원되는 동시 실행 사용자 수를 가져옵니다. 기본값은 0입니다.
| 반환 |
int |
동시에 실행되는 사용자 수를 나타내는 정수 |
public int getMaxNumberOfUsersSupported (String userType)
지정된 사용자 유형의 지원되는 최대 사용자 수를 가져옵니다. 기본값은 0입니다.
| 매개변수 |
userType |
String: UserManager에 정의된 사용자 유형입니다(예: 'android.os.usertype.full.SECONDARY'). |
| 반환 |
int |
지정된 사용자 유형의 지원되는 사용자 수를 나타내는 정수 |
public int getMaxNumberOfUsersSupported ()
게스트를 제외하고 지원되는 전환 가능한 최대 사용자 수를 가져옵니다. API 버전 36 이후에는 전환할 수 없는 사용자 (예: 프로필)가 포함되지 않습니다. 기본값은 0입니다.
| 반환 |
int |
지원되는 전환 가능한 사용자 수를 나타내는 정수 |
getPrimaryUserId
public Integer getPrimaryUserId ()
기본 사용자 ID를 반환합니다.
| 반환 |
Integer |
기본 사용자가 있는 경우 기본 사용자의 userId이고, 기본 사용자가 없는 경우 null입니다. |
getRemainingCreatableUserCount
public int getRemainingCreatableUserCount (String userType)
이 기기에서 만들 수 있는 지정된 사용자 유형의 사용자 수를 반환합니다.
| 매개변수 |
userType |
String: UserManager에 정의된 사용자 유형입니다(예: 'android.os.usertype.full.SECONDARY'). |
| 반환 |
int |
지정된 사용자 유형의 사용자를 얼마나 추가할 수 있는지 |
getScreenshot
public InputStreamSource getScreenshot (Long displayId,
String format,
boolean rescale)
지원되는 형식으로 지정된 디스플레이 ID의 기기에서 스크린샷을 가져옵니다. 더 작은 크기를 지원하기 위해 크기 조절 허용
| 매개변수 |
displayId |
Long: 스크린샷을 가져올 화면의 표시 ID입니다. |
format |
String: 지원되는 형식은 PNG, JPEG입니다. |
rescale |
boolean: 결과 이미지의 크기를 줄이기 위해 스크린샷의 크기를 조정해야 하는 경우 |
getScreenshot
public InputStreamSource getScreenshot (String format,
boolean rescale)
기기에서 스크린샷을 가져옵니다. 더 작은 크기를 위해 JPEG 인코딩과 함께 getScreenshot(String)를 사용하는 것이 좋습니다.
| 매개변수 |
format |
String: 지원되는 형식은 PNG, JPEG입니다. |
rescale |
boolean: 결과 이미지의 크기를 줄이기 위해 스크린샷의 크기를 조정해야 하는 경우 |
getScreenshot
public InputStreamSource getScreenshot (String format)
기기에서 스크린샷을 가져옵니다.
더 작은 크기를 위해 JPEG 인코딩과 함께 getScreenshot(format)을 대신 사용하는 것이 좋습니다.
| 매개변수 |
format |
String: 지원되는 형식은 PNG, JPEG입니다. |
getScreenshot
public InputStreamSource getScreenshot (long displayId)
지정된 디스플레이 ID의 기기에서 스크린샷을 가져옵니다. 형식은 PNG입니다.
TODO: 위의 구현을 확장하여 'format' 및 'rescale' 지원
| 매개변수 |
displayId |
long: 스크린샷을 가져올 화면의 표시 ID입니다. |
getSetting
public String getSetting (int userId,
String namespace,
String key)
요청된 설정의 값을 반환합니다.
네임스페이스는 {'system', 'secure', 'global'} 중 하나여야 합니다.
| 매개변수 |
userId |
int |
namespace |
String |
key |
String |
| 반환 |
String |
사용자의 네임스페이스:키와 연결된 값입니다. 찾을 수 없는 경우 null입니다. |
getSetting
public String getSetting (String namespace,
String key)
getSetting(int,String,String)를 참고하고 시스템 사용자에 대해 실행됩니다.
| 매개변수 |
namespace |
String |
key |
String |
getUninstallablePackageNames
public Set<String> getUninstallablePackageNames ()
제거할 수 있는 애플리케이션 패키지 이름을 가져옵니다. 현재 이는 비시스템 패키지 및 업데이트된 시스템 패키지로 정의됩니다.
| 반환 |
Set<String> |
Set(제거할 수 없는 String 패키지 이름)이 현재 기기에 설치되어 있습니다. |
getUserFlags
public int getUserFlags (int userId)
지정된 사용자의 플래그를 찾아 반환합니다.
플래그는 Android 오픈소스 프로젝트의 'android.content.pm.UserInfo' 클래스에 정의되어 있습니다.
| 반환 |
int |
제공된 userId와 연결된 플래그(있는 경우), 그 외의 경우에는 -10000 |
getUserSerialNumber
public int getUserSerialNumber (int userId)
userId와 연결된 일련번호를 찾은 경우 반환하고, 그 외의 경우에는 -10000을 반환합니다.
getUserVisibleOnDisplay
public int getUserVisibleOnDisplay (int displayId)
지정된 디스플레이에서 표시되는 사용자의 사용자 ID를 가져옵니다.
| 매개변수 |
displayId |
int: 디스플레이의 ID입니다. |
| 반환 |
int |
지정된 디스플레이에 표시되는 사용자의 사용자 ID입니다. 표시되는 백그라운드 사용자와 현재 포그라운드 사용자를 구분하지 않습니다. 두 유형 모두 표시되기 때문입니다. 구분하려면 getCurrentUser() 결과와 추가로 비교하세요. |
hasFeature
public boolean hasFeature (String feature)
기기에서 기능을 사용할 수 있는지 확인합니다.
| 매개변수 |
feature |
String: 형식은 'feature:' 또는 ''여야 합니다. |
| 반환 |
boolean |
기능이 있으면 true, 그렇지 않으면 false입니다. |
installPackage
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 |
installPackage
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 |
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 |
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 |
installPackageWithIncrementalMode
public boolean installPackageWithIncrementalMode (File[] apkFiles,
String[] extraArgs,
String userId)
증분 모드로 APK를 설치합니다.
| 매개변수 |
apkFiles |
File: 설치할 APK 파일입니다. |
extraArgs |
String |
userId |
String |
installPackages
public String installPackages (List<File> packageFiles,
boolean reinstall,
String... extraArgs)
| 매개변수 |
packageFiles |
List |
reinstall |
boolean |
extraArgs |
String |
installPackages
public String installPackages (List<File> packageFiles,
boolean reinstall,
boolean grantPermissions,
String... extraArgs)
| 매개변수 |
packageFiles |
List |
reinstall |
boolean |
grantPermissions |
boolean |
extraArgs |
String |
installPackagesForUser
public String installPackagesForUser (List<File> packageFiles,
boolean reinstall,
int userId,
String... extraArgs)
| 매개변수 |
packageFiles |
List |
reinstall |
boolean |
userId |
int |
extraArgs |
String |
installPackagesForUser
public String installPackagesForUser (List<File> packageFiles,
boolean reinstall,
boolean grantPermissions,
int userId,
String... extraArgs)
| 매개변수 |
packageFiles |
List |
reinstall |
boolean |
grantPermissions |
boolean |
userId |
int |
extraArgs |
String |
isAppEnumerationSupported
public boolean isAppEnumerationSupported ()
기기의 플랫폼이 앱 열거를 지원하는지 확인
| 반환 |
boolean |
앱 열거가 지원되면 true, 그렇지 않으면 false입니다. |
isHeadlessSystemUserMode
public boolean isHeadlessSystemUserMode ()
기기에서 헤드리스 시스템 사용자 모드를 사용하는지 여부를 반환합니다.
isMainUserPermanentAdmin
public boolean isMainUserPermanentAdmin ()
기본 사용자가 영구 관리자이며 삭제하거나 비관리자 상태로 다운그레이드할 수 없는지 여부를 반환합니다.
isMultiUserSupported
public boolean isMultiUserSupported ()
이 기기가 자체 로그인과 맞춤설정 가능한 공간이 있는 전환 가능한 여러 사용자를 지원하는지 여부를 반환합니다.
false인 경우에도 로그인 UI가 필요하지 않은 한 여러 사용자가 가능할 수 있습니다. 예를 들어 프로필은 로그인 UI가 필요하지 않으므로 계속 지원될 수 있습니다.
config_enableMultiUserUI도 확인합니다. 요구사항에 따라 이 값이 true인 기기는 adb를 통해 보조 사용자를 추가하도록 구성되어 있다고 가정할 수 있습니다.
| 반환 |
boolean |
기기가 전환 가능한 여러 사용자를 지원하는지 여부입니다. |
isPackageInstalled
public boolean isPackageInstalled (String packageName,
String userId)
지정된 패키지 이름과 지정된 사용자 ID로 기기를 쿼리하여 해당 사용자에 대해 현재 설치되어 있는지 확인합니다.
| 매개변수 |
packageName |
String: 설치 여부를 확인하는 패키지입니다. |
userId |
String: 패키지 설치 여부를 확인할 사용자 ID입니다. null인 경우 기본 사용자 0이 사용됩니다. |
| 반환 |
boolean |
패키지가 설치된 것으로 보고되면 true입니다. 그렇지 않으면 false입니다. |
isPackageInstalled
public boolean isPackageInstalled (String packageName)
특정 패키지 이름으로 기기를 쿼리하여 현재 설치되어 있는지 확인합니다.
| 반환 |
boolean |
패키지가 설치된 것으로 보고되면 true입니다. 그렇지 않으면 false입니다. |
isUserRunning
public boolean isUserRunning (int userId)
특정 사용자가 실행 중인지 확인합니다.
| 반환 |
boolean |
사용자가 달리고 있으면 true, 그 외의 경우에는 false입니다. |
isUserSecondary
public boolean isUserSecondary (int userId)
지정된 사용자가 플래그에 따라 보조 사용자인지 여부를 반환합니다.
| 반환 |
boolean |
사용자가 보조 사용자인 경우 true, 그렇지 않은 경우 false입니다. |
isUserVisible
public boolean isUserVisible (int userId)
지정된 사용자가 표시되는지 확인합니다.
'표시되는' 사용자는 '인간' 사용자와 상호작용하므로 실행 활동을 실행할 수 있는 사용자입니다 (일반적으로 기본 디스플레이에서).
isUserVisibleOnDisplay
public boolean isUserVisibleOnDisplay (int userId,
int displayId)
지정된 사용자가 지정된 디스플레이에 표시되는지 확인합니다.
'표시되는' 사용자는 '인간' 사용자와 상호작용하므로 해당 디스플레이에서 활동을 실행할 수 있는 사용자입니다.
| 매개변수 |
userId |
int |
displayId |
int |
listDisplayIds
public Set<Long> listDisplayIds ()
'dumpsys SurfaceFlinger'에서 보고한 대로 기기에서 사용할 수 있는 디스플레이 ID 목록을 수집합니다.
| 반환 |
Set<Long> |
디스플레이 목록입니다. 기본값은 항상 기본 디스플레이 0을 반환합니다. |
listUsers
public ArrayList<Integer> listUsers ()
기기의 사용자 목록을 가져옵니다. 기기의 출력이 예상과 다르면 DeviceRuntimeException이 발생합니다.
| 반환 |
ArrayList<Integer> |
사용자 ID 목록입니다. |
logBugreport
public boolean logBugreport (String dataName,
ITestLogger listener)
버그 신고를 가져와 신고자에게 로깅하는 도우미 메서드
| 매개변수 |
dataName |
String: 버그 신고가 보고될 이름입니다. |
listener |
ITestLogger: 버그 신고를 로깅하는 ITestLogger |
| 반환 |
boolean |
로깅이 성공하면 true, 그렇지 않으면 false입니다. |
notifySnapuserd
public void notifySnapuserd (SnapuserdWaitPhase waitPhase)
| 매개변수 |
waitPhase |
SnapuserdWaitPhase |
postInvocationTearDown
public void postInvocationTearDown (Throwable exception)
호출이 완료된 후 실행되는 기기별 필수 정리의 추가 단계입니다.
| 매개변수 |
exception |
Throwable: 호출 실패로 인해 발생한 최종 예외(있는 경우)입니다. |
removeAdmin
public boolean removeAdmin (String componentName,
int userId)
지정된 사용자의 지정된 기기 관리자를 삭제하고 성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
| 매개변수 |
componentName |
String: 삭제할 기기 관리자입니다. |
userId |
int: 기기 관리자가 있는 사용자 |
| 반환 |
boolean |
성공하면 true, 그렇지 않으면 false입니다. |
removeOwners
public void removeOwners ()
최선을 다해 기존 기기 프로필 소유자를 모두 삭제합니다.
removeUser
public boolean removeUser (int userId)
기기에서 지정된 사용자를 삭제합니다.
| 매개변수 |
userId |
int: 삭제할 사용자의 ID |
| 반환 |
boolean |
사용자 삭제에 성공하면 true, 그렇지 않으면 false입니다. |
setDeviceOwner
public boolean setDeviceOwner (String componentName,
int userId)
지정된 사용자의 기기 소유자로 기기 관리 구성요소를 설정합니다.
| 매개변수 |
componentName |
String: 기기 관리자가 기기 소유자가 되도록 합니다. |
userId |
int: 기기 소유자가 거주하는 국가입니다. |
| 반환 |
boolean |
성공하면 true, 그렇지 않으면 false입니다. |
setFirstBootloaderReboot
public void setFirstBootloaderReboot ()
setSetting
public void setSetting (String namespace,
String key,
String value)
setSetting(int,String,String,String)를 참고하고 시스템 사용자에 대해 실행됩니다.
| 매개변수 |
namespace |
String |
key |
String |
value |
String |
setSetting
public void setSetting (int userId,
String namespace,
String key,
String value)
특정 사용자의 네임스페이스에 설정 값을 추가합니다. 일부 설정은 재부팅 후에만 사용할 수 있습니다.
네임스페이스는 {'system', 'secure', 'global'} 중 하나여야 합니다.
| 매개변수 |
userId |
int |
namespace |
String |
key |
String |
value |
String |
shutdownMicrodroid
public void shutdownMicrodroid (ITestDevice microdroidDevice)
microdroid 기기가 있는 경우 종료합니다.
| 매개변수 |
microdroidDevice |
ITestDevice |
startUser
public boolean startUser (int userId)
현재 중지된 경우 지정된 사용자를 백그라운드에서 시작합니다. 사용자가 이미 백그라운드에서 실행 중인 경우 이 메서드는 NOOP입니다.
| 매개변수 |
userId |
int: 백그라운드에서 시작할 사용자의 ID |
| 반환 |
boolean |
사용자가 백그라운드에서 성공적으로 시작된 경우 true입니다. |
startUser
public boolean startUser (int userId,
boolean waitFlag)
현재 중지된 경우 지정된 사용자를 백그라운드에서 시작합니다. 사용자가 이미 백그라운드에서 실행 중인 경우 이 메서드는 NOOP입니다. 작업이 적용될 때까지 기다리는 추가 플래그를 제공할 수 있습니다.
| 매개변수 |
userId |
int: 백그라운드에서 시작할 사용자의 ID |
waitFlag |
boolean: 사용자가 시작되고 잠금 해제될 때까지 명령어가 대기하도록 합니다. |
| 반환 |
boolean |
사용자가 백그라운드에서 성공적으로 시작된 경우 true입니다. |
startVisibleBackgroundUser
public boolean startVisibleBackgroundUser (int userId,
int displayId,
boolean waitFlag)
지정된 디스플레이에 표시되는 백그라운드에서 지정된 사용자를 시작합니다 (즉, 사용자가 해당 디스플레이에서 활동을 실행할 수 있음).
참고: 이 명령어는 사용자가 존재하는지, 표시가 가능한지, device supports such feature인지 등을 확인하지 않습니다.
| 매개변수 |
userId |
int: 백그라운드에서 시작할 사용자의 ID |
displayId |
int: 사용자가 볼 수 있는 디스플레이를 시작합니다. |
waitFlag |
boolean: 사용자가 시작되고 잠금 해제될 때까지 명령어가 대기하도록 합니다. |
| 반환 |
boolean |
사용자가 백그라운드에서 표시되도록 성공적으로 시작된 경우 true |
stopUser
public boolean stopUser (int userId)
지정된 사용자를 중지합니다. 사용자가 이미 중지된 경우 이 메서드는 NOOP입니다.
현재 사용자 및 시스템 사용자는 중지할 수 없습니다.
| 반환 |
boolean |
사용자가 성공적으로 중지되었으면 true입니다. |
stopUser
public boolean stopUser (int userId,
boolean waitFlag,
boolean forceFlag)
특정 사용자를 중지합니다. 작업이 적용될 때까지 기다리고 사용자를 강제 종료하는 추가 플래그를 제공할 수 있습니다. 현재 사용자 및 시스템 사용자는 중지할 수 없습니다.
| 매개변수 |
userId |
int: 중지할 사용자 |
waitFlag |
boolean: 사용자가 중지될 때까지 명령어가 대기하도록 합니다. |
forceFlag |
boolean: 사용자를 강제 종료합니다. |
| 반환 |
boolean |
사용자가 성공적으로 중지되었으면 true입니다. |
supportsMicrodroid
public boolean supportsMicrodroid ()
microdroid를 실행하기 위한 사전 조건을 확인합니다.
| 반환 |
boolean |
사전 조건이 충족되면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
supportsMicrodroid
public boolean supportsMicrodroid (boolean protectedVm)
microdroid를 실행하기 위한 사전 조건을 확인합니다.
| 매개변수 |
protectedVm |
boolean: 보호된 VM에서 microdroid를 실행하려는 경우 true입니다. |
| 반환 |
boolean |
사전 조건이 충족되면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
switchUser
public boolean switchUser (int userId)
기본 제한 시간으로 다른 userId로 전환합니다. switchUser(int, long).
| 반환 |
boolean |
새 userId가 userId 제공자와 일치하는 경우 true입니다. 그렇지 않으면 false입니다. |
switchUser
public boolean switchUser (int userId,
long timeout)
제공된 시간 제한을 기한으로 사용하여 다른 userId로 전환합니다.
사용자 변경이 성공한 후 키가드를 사용 중지하려고 시도합니다.
| 매개변수 |
userId |
int |
timeout |
long: 사용자 전환 실패에 대해 false를 반환하기 전에 대기합니다. |
| 반환 |
boolean |
새 userId가 userId 제공자와 일치하는 경우 true입니다. 그렇지 않으면 false입니다. |
uninstallPackage
public String uninstallPackage (String packageName)
기기에서 Android 패키지를 제거합니다.
| 매개변수 |
packageName |
String: 제거할 Android 패키지 |
| 반환 |
String |
오류 코드가 있는 String 또는 성공 시 null |
uninstallPackageForUser
public String uninstallPackageForUser (String packageName,
int userId)
지정된 사용자의 기기에서 Android 패키지를 제거합니다.
| 매개변수 |
packageName |
String: 제거할 Android 패키지 |
userId |
int: 제거할 정수 사용자 ID입니다. |
| 반환 |
String |
오류 코드가 있는 String 또는 성공 시 null |
waitForSnapuserd
public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)
| 매개변수 |
currentPhase |
SnapuserdWaitPhase |
보호된 메서드
createParser
protected AaptParser createParser (File appFile)
doAdbReboot
protected void doAdbReboot (NativeDevice.RebootMode rebootMode,
String reason)
adb 재부팅을 실행합니다.
| 매개변수 |
rebootMode |
NativeDevice.RebootMode: 이 재부팅의 모드입니다. |
reason |
String: 이 재부팅에 사용됩니다. |
getBugreportzInternal
protected File getBugreportzInternal ()
bugreportz zip 파일을 File로 가져오는 내부 도우미 메서드
getCheckNewUserSleep
protected long getCheckNewUserSleep ()
테스트를 위해 노출됩니다.
getHostCurrentTime
protected long getHostCurrentTime ()
테스트를 위해 노출됨
prePostBootSetup
protected void prePostBootSetup ()
각 기기 유형 (AndroidNativeDevice, TestDevice)이 특정 부팅 후 설정을 위해 이 메서드를 재정의할 수 있습니다.