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)

パブリック メソッド

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 からヒープをダンプしようとします。

getActiveApexes()

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

getAllSettings(String namespace)

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

String getAndroidId(int userId)

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

getAndroidIds()

一致するユーザー ID が見つかった Android ID のマップを作成します。

PackageInfo getAppPackageInfo(String packageName)

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

getAppPackageInfos()

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

InputStreamSource getBugreport()

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

InputStreamSource getBugreportz()

デバイスから bugreportz を取得します。

DeviceFoldableState getCurrentFoldableState()

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

int getCurrentUser()

現在実行中のユーザーの ID を返します。

getFoldableStates()

デバイスの折りたたみ状態のリストを返します。

getInstalledPackageNames()

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

KeyguardControllerState getKeyguardState()

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

Integer getMainUserId()

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

getMainlineModuleInfo()

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

int getMaxNumberOfRunningUsersSupported()

同時に実行できるユーザーの最大数を取得します。

int getMaxNumberOfUsersSupported()

サポートされている最大ユーザー数を取得します。

Integer getPrimaryUserId()

プライマリ ユーザー ID を返します。

InputStreamSource getScreenshot(String format, boolean rescale)

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

InputStreamSource getScreenshot(long displayId)

指定されたディスプレイ ID のデバイスからスクリーンショットを取得します。

InputStreamSource getScreenshot(String format)

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

InputStreamSource getScreenshot()

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

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

リクエストされた設定の値を返します。

String getSetting(String namespace, String key)

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

getUninstallablePackageNames()

アンインストール可能なアプリのパッケージ名を取得します。

int getUserFlags(int userId)

指定されたユーザーのフラグを見つけて返します。

getUserInfos()

デバイス上の useId と UserInfo のマップを取得します。

int getUserSerialNumber(int userId)

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

boolean hasFeature(String feature)

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

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

デバイスに Android パッケージをインストールします。

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

デバイスに Android パッケージをインストールします。

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

デバイスに Android パッケージをインストールします。

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

指定されたユーザーのデバイスに Android パッケージをインストールします。

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

指定されたユーザーのデバイスに Android パッケージをインストールします。

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

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

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

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

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

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

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

String installRemotePackages( remoteApkPaths, boolean reinstall, boolean grantPermissions, 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()

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

listDisplayIds()

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

listDisplayIdsForStartingVisibleBackgroundUsers()

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

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 ファイルを ERROR(/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)

パブリック メソッド

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

createUser

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

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

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

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

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

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

例外
DeviceNotAvailableException

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

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 レポートを含む ERROR(/File)。失敗した場合は null。

例外
DeviceNotAvailableException

getActiveApexes

public  getActiveApexes ()

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

戻り値
デバイスで現在有効になっている ApexInfoERROR(/Set)

例外
DeviceNotAvailableException

getAllSettings

public  getAllSettings (String namespace)

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

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

戻り値
Key-Value ペアのマップ。名前空間がサポートされていない場合は null。

例外
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

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

パラメータ
userId int

戻り値
String

例外
DeviceNotAvailableException

getAndroidIds

public  getAndroidIds ()

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

戻り値
一致するユーザー ID が見つかった Android ID のマップ。

例外
DeviceNotAvailableException

getAppPackageInfo

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。失敗した場合、InputStreamSource は空の ERROR(/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  getFoldableStates ()

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

戻り値

例外
DeviceNotAvailableException

getInstalledPackageNames

public  getInstalledPackageNames ()

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

戻り値
デバイスに現在インストールされている String パッケージ名の ERROR(/Set)

例外
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

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

戻り値
KeyguardControllerState キーガードの状態のスナップショットを含む KeyguardControllerState。Keyguard クエリがサポートされていない場合は Null を返します。

例外
DeviceNotAvailableException

getMainUserId

public Integer getMainUserId ()

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

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

例外
DeviceNotAvailableException

getMainlineModuleInfo

public  getMainlineModuleInfo ()

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

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

例外
DeviceNotAvailableException

getMaxNumberOfRunningUsersSupported

public int getMaxNumberOfRunningUsersSupported ()

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

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

例外
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

サポートされているユーザーの最大数を取得します。デフォルトは 0 です。

戻り値
int サポートされているユーザー数を示す整数

例外
DeviceNotAvailableException

getPrimaryUserId

public Integer getPrimaryUserId ()

プライマリ ユーザー ID を返します。

戻り値
Integer メインユーザーが存在する場合はその userId、メインユーザーが存在しない場合は 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 (long displayId)

指定されたディスプレイ ID のデバイスからスクリーンショットを取得します。形式は PNG です。

TODO: 上記の実装を拡張して「format」と「rescale」をサポートする

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

戻り値
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 ()

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

戻り値
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  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 ()

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

戻り値
UserInfo オブジェクトのリスト。

例外
DeviceNotAvailableException

getUserSerialNumber

public int getUserSerialNumber (int userId)

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

パラメータ
userId int

戻り値
int

例外
DeviceNotAvailableException

hasFeature

public boolean hasFeature (String feature)

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

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

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

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

installPackage

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

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

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

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

installPackageWithIncrementalMode

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

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

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

extraArgs String

userId String

戻り値
boolean

例外
DeviceNotAvailableException

installPackages

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

パラメータ
packageFiles

reinstall boolean

extraArgs String

戻り値
String

例外
DeviceNotAvailableException

installPackages

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, 
                int userId, 
                String... extraArgs)

パラメータ
packageFiles

reinstall boolean

userId int

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

installRemotePackages

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

パラメータ
remoteApkPaths

reinstall boolean

extraArgs String

戻り値
String

例外
DeviceNotAvailableException

installRemotePackages

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

パラメータ
remoteApkPaths

reinstall boolean

grantPermissions boolean

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 ()

マルチユーザーがサポートされているかどうかを判断します。

戻り値
boolean マルチユーザーがサポートされている場合は true、そうでない場合は false

例外
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName, 
                String userId)

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

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

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

戻り値
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  listDisplayIds ()

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

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

例外
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

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

戻り値

例外
DeviceNotAvailableException

listUsers

public  listUsers ()

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

戻り値
ユーザー 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 を返します。

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)

パラメータ
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 ファイルを ERROR(/File) として取得する内部ヘルパー メソッド。

戻り値
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

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

戻り値
long

getHostCurrentTime

protected long getHostCurrentTime ()

テスト用に公開

戻り値
long

prePostBootSetup

protected void prePostBootSetup ()

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

例外
DeviceNotAvailableException