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()
ヘッドレスの SYSTEM ユーザーに切り替えることが許可されているかどうかを返します。
|
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)
リクエストされた Namespace の Key-Value ペアを返します。
|
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)
特定のユーザーの Namespace に設定値を追加します。
|
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 ()
ヘッドレスの SYSTEM ユーザーに切り替えることが許可されているかどうかを返します。
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)
リクエストされた名前空間の Key-Value ペアを返します。
| パラメータ |
namespace |
String: {"system", "secure", "global"} のいずれかである必要があります。 |
| 戻り値 |
Map<String, String> |
Key-Value ペアのマップ。名前空間が対象外の場合は null。 |
getAndroidId
public String getAndroidId (int userId)
userId に関連付けられた android-id を検索して返します。見つからない場合は null を返します。
getAndroidIds
public Map<Integer, String> getAndroidIds ()
一致するユーザー ID が見つかった Android 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 mainline モジュールの 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)
リクエストされた設定の値を返します。namespace は {"system", "secure", "global"} のいずれかである必要があります
| パラメータ |
userId |
int |
namespace |
String |
key |
String |
| 戻り値 |
String |
ユーザーの namespace:key に関連付けられた値。見つからない場合は Null。 |
getSetting
public String getSetting (String namespace,
String key)
getSetting(int,String,String) を参照し、システム ユーザーで実行されます。
| パラメータ |
namespace |
String |
key |
String |
getUninstallablePackageNames
public Set<String> getUninstallablePackageNames ()
アンインストール可能なアプリのパッケージ名を取得します。これは現在、システム以外のパッケージと更新されたシステム パッケージとして定義されています。
| 戻り値 |
Set<String> |
デバイスに現在インストールされているアンインストールできない String パッケージ名の Set。 |
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 の場合、メインユーザー ゼロが使用されます。 |
| 戻り値 |
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> |
ディスプレイのリスト。Default は常にデフォルトのディスプレイ 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: 削除するユーザーの |
| 戻り値 |
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)
特定のユーザーの Namespace に設定値を追加します。一部の設定は再起動後にのみ利用可能になります。namespace は {"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: バックグラウンドで開始するユーザーの |
| 戻り値 |
boolean |
ユーザーがバックグラウンドで正常に開始された場合は true。 |
startUser
public boolean startUser (int userId,
boolean waitFlag)
指定されたユーザーが現在停止している場合、バックグラウンドで開始します。ユーザーがすでにバックグラウンドで実行されている場合、このメソッドは NOOP です。オペレーションが有効になるまで待機するための追加のフラグを指定できます。
| パラメータ |
userId |
int: バックグラウンドで開始するユーザーの |
waitFlag |
boolean: ユーザーが起動してロック解除されるまでコマンドを待機させます。 |
| 戻り値 |
boolean |
ユーザーがバックグラウンドで正常に開始された場合は true。 |
startVisibleBackgroundUser
public boolean startVisibleBackgroundUser (int userId,
int displayId,
boolean waitFlag)
指定されたユーザーをバックグラウンドで開始し、指定されたディスプレイに表示します(つまり、ユーザーがそのディスプレイでアクティビティを起動できるようにします)。
注: このコマンドは、ユーザーが存在するかどうか、ディスプレイが利用可能かどうか、device supports such feature などを確認しません。
| パラメータ |
userId |
int: バックグラウンドで開始するユーザーの |
displayId |
int: ユーザーに表示を開始するディスプレイ |
waitFlag |
boolean: ユーザーが起動してロック解除されるまでコマンドを待機させます。 |
| 戻り値 |
boolean |
ユーザーがバックグラウンドで正常に開始された場合は true。 |
stopUser
public boolean stopUser (int userId)
指定されたユーザーを停止します。ユーザーがすでに停止している場合、このメソッドは NOOP です。現在のユーザーとシステム ユーザーを停止できません。
| パラメータ |
userId |
int: 停止するユーザーの。 |
| 戻り値 |
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: microdroid が保護された VM で実行されることを想定している場合は 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 が返されます。 |
takeBugreport
public Bugreport takeBugreport ()
バグレポートを取得し、それを Bugreport オブジェクト内で返して処理します。問題が発生した場合は null を返します。Bugreport オブジェクトで参照されるファイルは、Bugreport.close() を介してクリーンアップする必要があります。
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 reboot を実行します。
| パラメータ |
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)が、ブート後の特定のセットアップのためにこのメソッドをオーバーライドできるようにします。