TestDevice

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 の作成に使用されるビルダー。 

定数

String DISMISS_KEYGUARD_CMD

キーガードを閉じることができるコマンド。

パブリック コンストラクタ

TestDevice(IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

パブリック メソッド

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)

保護されたメソッド

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

adb reboot を実行します。

InputStreamSource getBugreportInternal()
File getBugreportzInternal()

バグレポートの ZIP ファイルを File として取得する内部ヘルパー メソッド。

long getCheckNewUserSleep()

テスト用に公開されています。

long getHostCurrentTime()

テスト用に公開

void prePostBootSetup()

各デバイスタイプ(AndroidNativeDevice、TestDevice)が、ブート後の特定のセットアップのためにこのメソッドをオーバーライドできるようにします。

定数

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

キーガードを閉じるために使用できるコマンド。

定数値: "input keyevent 82"

パブリック コンストラクタ

TestDevice

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

パブリック メソッド

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

例外
DeviceNotAvailableException

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

例外
DeviceNotAvailableException

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

ヘッドレスの SYSTEM ユーザーに切り替えることが許可されているかどうかを返します。

戻り値
boolean

例外
DeviceNotAvailableException

clearErrorDialogs

public boolean clearErrorDialogs ()

デバイス UI に現在表示されているエラー ダイアログを閉じようとします。

戻り値
boolean ダイアログが存在しない場合、またはダイアログが正常にクリアされた場合は true。それ以外の場合は false

例外
DeviceNotAvailableException

createUser

public int createUser (String name)

指定された名前とデフォルトのフラグ 0 を持つユーザーを作成します。

パラメータ
name String: デバイスで作成するユーザーの

戻り値
int 作成されたユーザー ID の整数

例外
DeviceNotAvailableException
IllegalStateException

createUser

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

指定された名前とフラグを使用してユーザーを作成する

パラメータ
name String: デバイスで作成するユーザーの

guest boolean: 作成時にユーザーフラグ --guest を有効にする

ephemeral boolean: 作成時にユーザーフラグ --ephemeral を有効にする

戻り値
int 作成されたユーザーの ID

例外
DeviceNotAvailableException
IllegalStateException

createUser

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
IllegalStateException

createUserNoThrow

public int createUserNoThrow (String name)

指定された名前とデフォルトのフラグ 0 を持つユーザーを作成します。

パラメータ
name String: デバイスで作成するユーザーの

戻り値
int 作成されたユーザー ID の整数。エラーの場合は -1。

例外
DeviceNotAvailableException

disableKeyguard

public void disableKeyguard ()

キーガードを無効にしようとします。

まず、入力ディスパッチの準備が整うまで待機します。これは、デバイスが BOOT_COMPLETE をレポートするのとほぼ同時に非同期で行われます。現在のフレームワーク実装では、競合状態がまれに発生するためです。次に、キーガードを閉じるコマンドが送信されます(安全でないキーガードでのみ動作します)。

例外
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath, 
                int userId)

指定されたユーザーのデバイスにファイルが存在するかどうかを判断するヘルパー メソッド。

パラメータ
deviceFilePath String: チェックするデバイス上のファイルの絶対パス

userId int: ファイルの存在を確認するユーザー ID

戻り値
boolean ファイルが存在する場合は true、それ以外の場合は false

例外
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath)

デバイス上のファイルが存在するかどうかを判断するヘルパー メソッド。

パラメータ
deviceFilePath String: チェックするデバイス上のファイルの絶対パス

戻り値
boolean ファイルが存在する場合は true、それ以外の場合は false

例外
DeviceNotAvailableException

dumpHeap

public File dumpHeap (String process, 
                String devicePath)

system_server からヒープをダンプしようとします。ダンプされたファイルのクリーンアップは呼び出し元の責任で行います。

パラメータ
process String: dumpheap を実行するデバイス プロセスの名前。

devicePath String: ダンプを配置するデバイス上のパス。これは、権限で許可されている場所である必要があります。

戻り値
File レポートを含む File。失敗した場合は null。

例外
DeviceNotAvailableException

getActiveApexes

public Set<ITestDevice.ApexInfo> getActiveApexes ()

デバイスで有効化された APEX に関する情報を取得します。

戻り値
Set<ITestDevice.ApexInfo> デバイスで現在有効になっている ApexInfoSet

例外
DeviceNotAvailableException

getAllSettings

public Map<String, String> getAllSettings (String namespace)

リクエストされた名前空間の Key-Value ペアを返します。

パラメータ
namespace String: {"system", "secure", "global"} のいずれかである必要があります。

戻り値
Map<String, String> Key-Value ペアのマップ。名前空間が対象外の場合は null。

例外
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

userId に関連付けられた android-id を検索して返します。見つからない場合は null を返します。

パラメータ
userId int

戻り値
String

例外
DeviceNotAvailableException

getAndroidIds

public Map<Integer, String> getAndroidIds ()

一致するユーザー ID が見つかった Android ID のマップを作成します。この関数で関連付けられた Android ID が見つかる保証はないため、一部のユーザー ID は null と一致する可能性があります。

戻り値
Map<Integer, String> 一致するユーザー ID が見つかった Android ID のマップ。

例外
DeviceNotAvailableException

getAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

デバイスにインストールされているパッケージに関する情報を取得します。

パラメータ
packageName String

戻り値
PackageInfo 情報を取得できなかった場合は PackageInfo または null

例外
DeviceNotAvailableException

getAppPackageInfos

public List<PackageInfo> getAppPackageInfos ()

デバイスにインストールされているパッケージの情報を取得します。

戻り値
List<PackageInfo> デバイスにインストールされている PackageInfoList

例外
DeviceNotAvailableException

getBugreport

public InputStreamSource getBugreport ()

デバイスからバグレポートを取得します。

この実装は、sdcard のないデバイス(または sdcard がまだマウントされていないデバイス)でも動作し続けることが保証されています。

戻り値
InputStreamSource オンデマンドでバグレポートのコンテンツを生成する InputStreamSource。失敗した場合、InputStreamSource は空の InputStream を生成します。

getBugreportz

public InputStreamSource getBugreportz ()

デバイスから bugreportz を取得します。ZIP 形式のバグレポートには、メインのバグレポートと、デバッグに役立つその他のログファイルが含まれています。

'adb version' > 1.0.36 でのみサポートされます

戻り値
InputStreamSource バグレポートを含む ZIP ファイルの InputStreamSource。失敗した場合は null を返します。

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

デバイスの現在の折りたたみ状態を返します。問題が発生した場合は null を返します。

戻り値
DeviceFoldableState

例外
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

現在実行中のユーザーの ID を返します。エラーの場合は、-10000 を返します。

戻り値
int

例外
DeviceNotAvailableException

getFoldableStates

public Set<DeviceFoldableState> getFoldableStates ()

デバイスの折りたたみ状態のリストを返します。「cmd device_state print-states」で取得できます。

戻り値
Set<DeviceFoldableState>

例外
DeviceNotAvailableException

getInstalledPackageNames

public Set<String> getInstalledPackageNames ()

デバイスに存在するアプリのパッケージ名を取得します。

戻り値
Set<String> デバイスに現在インストールされている String 個のパッケージ名の Set

例外
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

キーガードの現在の状態を取得するオブジェクトを返します。サポートされていない場合は null を返します。

戻り値
KeyguardControllerState キーガードの状態のスナップショットを含む KeyguardControllerState。Keyguard クエリが対象外の場合は Null を返します。

例外
DeviceNotAvailableException

getMainUserId

public Integer getMainUserId ()

メイン ユーザー ID を返します。

戻り値
Integer メインユーザーがいる場合はその userId、メインユーザーがいない場合は null。

例外
DeviceNotAvailableException

getMainlineModuleInfo

public Set<String> getMainlineModuleInfo ()

デバイスにインストールされている Mainline モジュールに関する情報を取得します。

戻り値
Set<String> デバイスに現在インストールされている String mainline モジュールの Set

例外
DeviceNotAvailableException

getMaxNumberOfRunningUsersSupported

public int getMaxNumberOfRunningUsersSupported ()

同時に実行できるユーザーの最大数を取得します。デフォルトは 0 です。

戻り値
int 同時に実行されているユーザー数を示す整数

例外
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported (String userType)

指定されたユーザータイプのサポート対象ユーザーの最大数を取得します。デフォルトは 0 です。

パラメータ
userType String: UserManager で定義されているユーザーのタイプ(「android.os.usertype.full.SECONDARY」など)。

戻り値
int 指定されたユーザータイプのサポート対象ユーザー数を示す整数

例外
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

ゲストを除く、サポートされている切り替え可能なユーザーの最大数を取得します。API バージョン 36 以降では、切り替え不可能なユーザー(プロファイルなど)は含まれません。デフォルトは 0 です。

戻り値
int サポートされている切り替え可能なユーザーの数を示す整数

例外
DeviceNotAvailableException

getPrimaryUserId

public Integer getPrimaryUserId ()

メインユーザー ID を返します。

戻り値
Integer メインユーザーが存在する場合はその userId、メインユーザーが存在しない場合は null。

例外
DeviceNotAvailableException

getRemainingCreatableUserCount

public int getRemainingCreatableUserCount (String userType)

このデバイスで作成できる指定されたユーザータイプのユーザー数を返します。

パラメータ
userType String: UserManager で定義されているユーザーのタイプ(「android.os.usertype.full.SECONDARY」など)。

戻り値
int 指定されたユーザータイプのユーザーを何人追加できるか

例外
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (Long displayId, 
                String format, 
                boolean rescale)

サポートされている形式で、指定されたディスプレイ ID のデバイスからスクリーンショットを取得します。小さいサイズをサポートするためにリスケールを許可

パラメータ
displayId Long: スクリーンショットを取得する画面のディスプレイ ID。

format String: PNG、JPEG をサポート

rescale boolean: スクリーンショットを再スケーリングして、結果の画像のサイズを縮小するかどうか

戻り値
InputStreamSource スクリーンショットが成功しなかった場合は nullInputStreamSource

例外
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

デバイスからスクリーンショットを取得します。サイズを小さくするために、代わりに JPEG エンコードで getScreenshot(String) を使用することをおすすめします。

パラメータ
format String: PNG、JPEG をサポート

rescale boolean: スクリーンショットを再スケーリングして、結果の画像のサイズを縮小するかどうか

戻り値
InputStreamSource スクリーンショットが成功しなかった場合は nullInputStreamSource

例外
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: 上記の実装を拡張して「format」と「rescale」をサポートする

パラメータ
displayId long: スクリーンショットを取得する画面のディスプレイ ID。

戻り値
InputStreamSource スクリーンショットが成功しなかった場合は nullInputStreamSource

例外
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot ()

デバイスからスクリーンショットを取得します。

戻り値
InputStreamSource スクリーンショットが成功した場合は PNG 形式のスクリーンショットの InputStreamSource、成功しなかった場合は null

例外
DeviceNotAvailableException

getSetting

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

リクエストされた設定の値を返します。namespace は {"system", "secure", "global"} のいずれかである必要があります

パラメータ
userId int

namespace String

key String

戻り値
String ユーザーの namespace:key に関連付けられた値。見つからない場合は Null。

例外
DeviceNotAvailableException

getSetting

public String getSetting (String namespace, 
                String key)

getSetting(int,String,String) を参照し、システム ユーザーで実行されます。

パラメータ
namespace String

key String

戻り値
String

例外
DeviceNotAvailableException

getUninstallablePackageNames

public Set<String> getUninstallablePackageNames ()

アンインストール可能なアプリのパッケージ名を取得します。これは現在、システム以外のパッケージと更新されたシステム パッケージとして定義されています。

戻り値
Set<String> デバイスに現在インストールされているアンインストールできない String パッケージ名の Set

例外
DeviceNotAvailableException

getUserFlags

public int getUserFlags (int userId)

指定されたユーザーのフラグを検索して返します。フラグは、Android オープンソース プロジェクトの「android.content.pm.UserInfo」クラスで定義されています。

パラメータ
userId int

戻り値
int 見つかった場合は指定された userId に関連付けられたフラグ、それ以外の場合は -10000。

例外
DeviceNotAvailableException

getUserInfos

public Map<Integer, UserInfo> getUserInfos ()

デバイス上の useId と UserInfo のマップを取得します。デバイスからの出力が想定どおりでない場合は、DeviceRuntimeException をスローします。

戻り値
Map<Integer, UserInfo> UserInfo オブジェクトのリスト。

例外
DeviceNotAvailableException

getUserSerialNumber

public int getUserSerialNumber (int userId)

見つかった場合は userId に関連付けられたシリアル番号を返し、それ以外の場合は -10000 を返します。

パラメータ
userId int

戻り値
int

例外
DeviceNotAvailableException

getUserVisibleOnDisplay

public int getUserVisibleOnDisplay (int displayId)

指定されたディスプレイに表示されているユーザーのユーザー ID を取得します。

パラメータ
displayId int: ディスプレイの ID。

戻り値
int 指定されたディスプレイに表示されているユーザーのユーザー ID。可視のバックグラウンド ユーザーと現在のフォアグラウンド ユーザーはどちらも可視であるため、区別されません。区別するには、さらに getCurrentUser() の結果と比較します。

例外
DeviceNotAvailableException

hasFeature

public boolean hasFeature (String feature)

デバイスで機能が利用可能かどうかを確認します。

パラメータ
feature String: 形式は「feature:」または「」にする必要があります。

戻り値
boolean 機能が見つかった場合は true、それ以外の場合は false。

例外
DeviceNotAvailableException

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

例外
DeviceNotAvailableException

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

例外
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

installPackageWithIncrementalMode

public boolean installPackageWithIncrementalMode (File[] apkFiles, 
                String[] extraArgs, 
                String userId)

増分モードで apk をインストールします。

パラメータ
apkFiles File: インストールする APK ファイル。

extraArgs String

userId String

戻り値
boolean

例外
DeviceNotAvailableException

installPackages

public String installPackages (List<File> packageFiles, 
                boolean reinstall, 
                String... extraArgs)

パラメータ
packageFiles List

reinstall boolean

extraArgs String

戻り値
String

例外
DeviceNotAvailableException

installPackages

public String installPackages (List<File> packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

パラメータ
packageFiles List

reinstall boolean

grantPermissions boolean

extraArgs String

戻り値
String

例外
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser (List<File> packageFiles, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

パラメータ
packageFiles List

reinstall boolean

userId int

extraArgs String

戻り値
String

例外
DeviceNotAvailableException

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

戻り値
String

例外
DeviceNotAvailableException

isAppEnumerationSupported

public boolean isAppEnumerationSupported ()

デバイスのプラットフォームがアプリの列挙をサポートしているかどうかを確認する

戻り値
boolean アプリの列挙がサポートされている場合は true、そうでない場合は false

例外
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

デバイスがヘッドレス システム ユーザー モードを使用しているかどうかを返します。

戻り値
boolean

例外
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

メインユーザーが永続的な管理者であり、削除したり管理者以外のステータスに降格したりできないかどうかを返します。

戻り値
boolean

例外
DeviceNotAvailableException

isMultiUserSupported

public boolean isMultiUserSupported ()

このデバイスが、独自のログインとカスタマイズ可能なスペースを持つ複数の切り替え可能なユーザーをサポートしているかどうかを返します。

false の場合でも、ログイン UI が必要ない限り、複数のユーザーが利用できる可能性があります。たとえば、プロファイルはログイン UI を必要としないため、サポートされる可能性があります。

また、config_enableMultiUserUI もチェックします。要求により、これが true であるデバイスは、adb 経由でセカンダリ ユーザーを追加できるように構成されていると想定できます。

戻り値
boolean デバイスが切り替え可能な複数のユーザーをサポートするかどうか。

例外
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName, 
                String userId)

特定のパッケージ名と特定のユーザー ID をデバイスにクエリして、そのユーザーに対して現在インストールされているかどうかを確認します。

パラメータ
packageName String: インストールされているかどうかを確認するパッケージ。

userId String: パッケージがインストールされているかどうかを確認するユーザー ID。null の場合、メインユーザー ゼロが使用されます。

戻り値
boolean パッケージがインストール済みとして報告された場合は true。それ以外は False が返されます。

例外
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName)

特定のパッケージ名についてデバイスにクエリを実行し、現在インストールされているかどうかを確認します。

パラメータ
packageName String

戻り値
boolean パッケージがインストール済みとして報告された場合は true。それ以外は False が返されます。

例外
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

指定されたユーザーが実行中かどうかを確認します。

パラメータ
userId int

戻り値
boolean ユーザーが走行中の場合は true、それ以外の場合は false。

例外
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

isVisibleBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

デバイスが ERROR(/java.android.view.Display#DEFAULT_DISPLAY) でユーザーがバックグラウンドで表示されることを許可するかどうかを返します。

その場合は、startVisibleBackgroundUser(int, int, boolean) を呼び出し、listDisplayIdsForStartingVisibleBackgroundUsers() から返されたディスプレイ(ERROR(/java.android.view.Display#DEFAULT_DISPLAY) を含む必要があります)を渡すことができます。

戻り値
boolean

例外
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

デバイスでユーザーがバックグラウンドで表示されることを許可するかどうかを返します。

その場合は、listDisplayIdsForStartingVisibleBackgroundUsers() から返されたディスプレイを渡して startVisibleBackgroundUser(int, int, boolean) を呼び出すことができます。

戻り値
boolean

例外
DeviceNotAvailableException

listDisplayIds

public Set<Long> listDisplayIds ()

「dumpsys SurfaceFlinger」でレポートされた、デバイス上の利用可能なディスプレイの ID のリストを収集します。

戻り値
Set<Long> ディスプレイのリスト。Default は常にデフォルトのディスプレイ 0 を返します。

例外
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public Set<Integer> listDisplayIdsForStartingVisibleBackgroundUsers ()

start a user visible in the background に使用できるディスプレイのリストを取得します。

戻り値
Set<Integer>

例外
DeviceNotAvailableException

listUsers

public ArrayList<Integer> listUsers ()

デバイスのユーザーのリストを取得します。デバイスからの出力が想定どおりでない場合は、DeviceRuntimeException をスローします。

戻り値
ArrayList<Integer> ユーザー ID のリスト。

例外
DeviceNotAvailableException

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。

例外
DeviceNotAvailableException

removeOwners

public void removeOwners ()

ベスト エフォートで既存のデバイス プロファイル オーナーをすべて削除します。

例外
DeviceNotAvailableException

removeUser

public boolean removeUser (int userId)

指定されたユーザーをデバイスから削除します。

パラメータ
userId int: 削除するユーザーの

戻り値
boolean ユーザーの削除に成功した場合は true、それ以外の場合は false。

例外
DeviceNotAvailableException

setDeviceOwner

public boolean setDeviceOwner (String componentName, 
                int userId)

特定のユーザーのデバイス オーナーとしてデバイス管理者コンポーネントを設定します。

パラメータ
componentName String: デバイス オーナーになるデバイス管理者の。

userId int: デバイス所有者が居住する国。

戻り値
boolean 成功した場合は true、それ以外の場合は false。

例外
DeviceNotAvailableException

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

例外
DeviceNotAvailableException

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

例外
DeviceNotAvailableException

shutdownMicrodroid

public void shutdownMicrodroid (ITestDevice microdroidDevice)

microdroid デバイスが存在する場合、それをシャットダウンします。

パラメータ
microdroidDevice ITestDevice

例外
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

startUser

public boolean startUser (int userId)

指定されたユーザーが現在停止している場合、バックグラウンドで開始します。ユーザーがすでにバックグラウンドで実行されている場合、このメソッドは NOOP です。

パラメータ
userId int: バックグラウンドで開始するユーザーの

戻り値
boolean ユーザーがバックグラウンドで正常に開始された場合は true。

例外
DeviceNotAvailableException

startUser

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

stopUser

public boolean stopUser (int userId)

指定されたユーザーを停止します。ユーザーがすでに停止している場合、このメソッドは NOOP です。現在のユーザーとシステム ユーザーを停止できません。

パラメータ
userId int: 停止するユーザーの。

戻り値
boolean ユーザーが正常に停止された場合は true。

例外
DeviceNotAvailableException

stopUser

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

指定されたユーザーを停止します。オペレーションが有効になるまで待機し、ユーザーを強制的に終了させるための追加フラグを指定できます。現在のユーザーとシステム ユーザーを停止できません。

パラメータ
userId int: 停止するユーザーの。

waitFlag boolean: ユーザーが停止するまでコマンドを待機させます。

forceFlag boolean: ユーザーを強制停止します。

戻り値
boolean ユーザーが正常に停止された場合は true。

例外
DeviceNotAvailableException

supportsMicrodroid

public boolean supportsMicrodroid ()

Microdroid を実行するための前提条件をチェックします。

戻り値
boolean 前提条件が満たされている場合は true、それ以外の場合は false を返します。

例外
Exception

supportsMicrodroid

public boolean supportsMicrodroid (boolean protectedVm)

Microdroid を実行するための前提条件をチェックします。

パラメータ
protectedVm boolean: microdroid が保護された VM で実行されることを想定している場合は true。

戻り値
boolean 前提条件が満たされている場合は true、それ以外の場合は false を返します。

例外
DeviceNotAvailableException

switchUser

public boolean switchUser (int userId)

デフォルトのタイムアウトで別の userId に切り替えます。switchUser(int, long)

パラメータ
userId int

戻り値
boolean 新しい userId が userId プロバイダと一致する場合は true。それ以外は False が返されます。

例外
DeviceNotAvailableException

switchUser

public boolean switchUser (int userId, 
                long timeout)

指定されたタイムアウトを期限として、別の userId に切り替えます。ユーザーの変更が成功したら、キーガードを無効にしようとします。

パラメータ
userId int

timeout long: ユーザー切り替えの失敗に対して false を返す前に待機します。

戻り値
boolean 新しい userId が userId プロバイダと一致する場合は true。それ以外は False が返されます。

例外
DeviceNotAvailableException

takeBugreport

public Bugreport takeBugreport ()

バグレポートを取得し、それを Bugreport オブジェクト内で返して処理します。問題が発生した場合は null を返します。Bugreport オブジェクトで参照されるファイルは、Bugreport.close() を介してクリーンアップする必要があります。

戻り値
Bugreport

uninstallPackage

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

waitForSnapuserd

public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)

パラメータ
currentPhase SnapuserdWaitPhase

例外
DeviceNotAvailableException

保護されたメソッド

createParser

protected AaptParser createParser (File appFile)

パラメータ
appFile File

戻り値
AaptParser

doAdbReboot

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

adb reboot を実行します。

パラメータ
rebootMode NativeDevice.RebootMode: この再起動のモード。

reason String: この再起動。

例外
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBugreportInternal

protected InputStreamSource getBugreportInternal ()

戻り値
InputStreamSource

getBugreportzInternal

protected File getBugreportzInternal ()

bugreportz ZIP ファイルを File として取得する内部ヘルパー メソッド。

戻り値
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

テスト用に公開されています。

戻り値
long

getHostCurrentTime

protected long getHostCurrentTime ()

テスト用に公開

戻り値
long

prePostBootSetup

protected void prePostBootSetup ()

各デバイスタイプ(AndroidNativeDevice、TestDevice)が、ブート後の特定のセットアップのためにこのメソッドをオーバーライドできるようにします。

例外
DeviceNotAvailableException