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

フィールド

public static final String DISMISS_KEYGUARD_CMD

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

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

TestDevice(IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

パブリック メソッド

boolean canSwitchToHeadlessSystemUser()

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

boolean clearErrorDialogs()

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

int createUser(String name)

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

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

指定された名前と指定されたフラグを持つユーザーを作成します。

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

指定された名前と指定されたフラグを持つユーザーを作成します。

int createUserNoThrow(String name)

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

void disableKeyguard()

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

boolean doesFileExist(String deviceFilePath)

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

boolean doesFileExist(String deviceFilePath, int userId)

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

File dumpHeap(String process, String devicePath)

system_server からヒープダンプを試みます。

getActiveApexes()

デバイスで有効になっている APEX に関する情報を取得します。

getAllSettings(String namespace)

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

String getAndroidId(int userId)

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

getAndroidIds()

ユーザー ID と一致する Android ID のマップを作成します。

PackageInfo getAppPackageInfo(String packageName)

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

getAppPackageInfos()

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

InputStreamSource getBugreport()

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

InputStreamSource getBugreportz()

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

DeviceFoldableState getCurrentFoldableState()

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

int getCurrentUser()

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

getFoldableStates()

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

getInstalledPackageNames()

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

KeyguardControllerState getKeyguardState()

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

Integer getMainUserId()

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

getMainlineModuleInfo()

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

int getMaxNumberOfRunningUsersSupported()

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

int getMaxNumberOfUsersSupported()

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

Integer getPrimaryUserId()

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

InputStreamSource getScreenshot()

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

InputStreamSource getScreenshot(String format, boolean rescale)

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

InputStreamSource getScreenshot(long displayId)

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

InputStreamSource getScreenshot(String format)

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

String getSetting(String namespace, String key)

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

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

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

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, boolean reinstall, boolean grantPermissions, String... extraArgs)

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

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

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

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

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

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

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

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

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

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

String installPackagesForUser( packageFiles, boolean reinstall, 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)

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

boolean isPackageInstalled(String packageName, String userId)

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

boolean isUserRunning(int userId)

特定のユーザーが実行中かどうかを確認します。

boolean isUserSecondary(int userId)

指定されたユーザーがフラグに基づいてセカンダリ ユーザーかどうかを返します。

boolean isUserVisible(int userId)

指定されたユーザーが公開されているかどうかを確認します。

boolean isUserVisibleOnDisplay(int userId, int displayId)

指定されたユーザーが指定されたディスプレイに表示されているかどうかを確認します。

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported()

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

boolean isVisibleBackgroundUsersSupported()

デバイスでユーザーがバックグラウンドで開始されたときに表示されるかどうかを返します。

listDisplayIds()

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

listDisplayIdsForStartingVisibleBackgroundUsers()

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

listUsers()

デバイス上のユーザーのリストを取得します。

boolean logBugreport(String dataName, ITestLogger listener)

バグレポートを取得してレポーターにログに記録するヘルパー メソッド。

void 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 waitFlag, boolean forceFlag)

特定のユーザーを停止します。

boolean stopUser(int userId)

特定のユーザーを停止します。

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 で再起動します。

InputStreamSource getBugreportInternal()
File getBugreportzInternal()

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

long getCheckNewUserSleep()

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

long getHostCurrentTime()

テスト用に公開

void prePostBootSetup()

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

フィールド

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

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

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

TestDevice

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

パブリック メソッド

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

ヘッドレス システム ユーザーに切り替えることができるかどうかを返します。

戻り値
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, 
                boolean forTesting)

指定された名前と指定されたフラグを持つユーザーを作成する

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

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

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

forTesting boolean: 作成時にテストフラグ --for-testing を有効にする

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

例外
DeviceNotAvailableException

createUser

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

指定された名前と指定されたフラグを持つユーザーを作成する

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

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

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

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

例外
DeviceNotAvailableException

createUserNoThrow

public int createUserNoThrow (String name)

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

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

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

例外
DeviceNotAvailableException

disableKeyguard

public void disableKeyguard ()

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

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

例外
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath)

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

パラメータ
deviceFilePath String: 確認するデバイス上のファイルの絶対パス

戻り値
boolean ファイルが存在する場合は true、存在しない場合は false

例外
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath, 
                int userId)

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

パラメータ
deviceFilePath String: 確認するデバイス上のファイルの絶対パス

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

戻り値
boolean ファイルが存在する場合は true、存在しない場合は false

例外
DeviceNotAvailableException

dumpHeap

public File dumpHeap (String process, 
                String devicePath)

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

パラメータ
process String: ダンプヒープするデバイス プロセスの名前。

devicePath String: ダンプを作成するデバイス上のパス。権限が許可されている場所にする必要があります。

戻り値
File レポートを含む ERROR(/File)。エラーが発生した場合は null。

例外
DeviceNotAvailableException

getActiveApexes

public  getActiveApexes ()

デバイスで有効になっている APEX に関する情報を取得します。

戻り値
デバイスで現在有効になっているプロモーション コード: ERROR(/Set) / ApexInfo

例外
DeviceNotAvailableException

getAllSettings

public  getAllSettings (String namespace)

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

パラメータ
namespace String: {"system"、"secure"、"global"} のいずれか

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

例外
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

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

パラメータ
userId int

戻り値
String

例外
DeviceNotAvailableException

getAndroidIds

public  getAndroidIds ()

ユーザー ID と一致する Android ID のマップを作成します。各ユーザー 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 ()

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

「adb version」が 1.0.36 より大きい場合にのみサポートされます。

戻り値
InputStreamSource bugreportz を含む ZIP ファイルの InputStreamSource。失敗した場合は null を返します。

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

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

戻り値
DeviceFoldableState

例外
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

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

戻り値
int

例外
DeviceNotAvailableException

getFoldableStates

public  getFoldableStates ()

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

戻り値

例外
DeviceNotAvailableException

getInstalledPackageNames

public  getInstalledPackageNames ()

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

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

例外
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

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

戻り値
KeyguardControllerState キーガード状態のスナップショットを含む KeyguardControllerState。キーガード クエリがサポートされていない場合は 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 ()

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

戻り値
InputStreamSource スクリーンショットの InputStreamSource(PNG 形式)。スクリーンショットが正常に取得されなかった場合は null

例外
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

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

パラメータ
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)

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

パラメータ
format String: サポートされている PNG、JPEG

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

例外
DeviceNotAvailableException

getSetting

public String getSetting (String namespace, 
                String key)

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

パラメータ
namespace String

key String

戻り値
String

例外
DeviceNotAvailableException

getSetting

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

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

パラメータ
userId int

namespace String

key String

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

例外
DeviceNotAvailableException

getUninstallablePackageNames

public  getUninstallablePackageNames ()

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

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

例外
DeviceNotAvailableException

getUserFlags

public int getUserFlags (int userId)

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

パラメータ
userId int

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

例外
DeviceNotAvailableException

getUserInfos

public  getUserInfos ()

デバイス上の 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, 
                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, 
                File certFile, 
                boolean reinstall, 
                String... extraArgs)

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

注: この関数を呼び出すのは、インストール時に実行時の権限の付与を明示的に制御する必要があるユースケースに限られます。

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

certFile File: 再インストールが必要な場合は true

reinstall boolean: すべてのランタイム パーミッションをインストール時に付与する必要があるかどうか

extraArgs String: 渡す追加の引数(省略可)。使用可能なオプションについては、「adb shell pm -h」をご覧ください。

戻り値
String エラーコードを含む String、または成功した場合は null

例外
DeviceNotAvailableException

installPackageForUser

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

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

注: この関数を呼び出すのは、インストール時に実行時の権限の付与を明示的に制御する必要があるユースケースに限られます。

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

reinstall boolean: 再インストールが必要な場合は true

grantPermissions boolean: すべてのランタイム パーミッションをインストール時に付与する必要があるかどうか

userId int: インストールするユーザー ID(整数)。

extraArgs String: 渡す追加の引数(省略可)。使用可能なオプションについては、「adb shell pm -h」をご覧ください。

戻り値
String エラーコードを含む String、または成功した場合は null

例外
DeviceNotAvailableException

installPackageForUser

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

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

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

reinstall boolean: 再インストールが必要な場合は true

userId int: インストールするユーザー ID(整数)。

extraArgs String: 渡す追加の引数(省略可)。使用可能なオプションについては、「adb shell pm -h」をご覧ください。

戻り値
String エラーコードを含む String、または成功した場合は null

例外
DeviceNotAvailableException

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

パラメータ
packageFiles

reinstall boolean

grantPermissions boolean

userId int

extraArgs String

戻り値
String

例外
DeviceNotAvailableException

installPackagesForUser

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

パラメータ
packageFiles

reinstall boolean

userId int

extraArgs String

戻り値
String

例外
DeviceNotAvailableException

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)

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

パラメータ
packageName String

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

例外
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName, 
                String userId)

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

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

userId String: パッケージがインストールされているユーザー ID。null の場合、メインユーザー 0 が使用されます。

戻り値
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) でバックグラウンドで開始され、表示されるかどうかを返します。

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

戻り値
boolean

例外
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

デバイスでユーザーがバックグラウンドで開始されたときに表示されるかどうかを返します。

存在する場合は、listDisplayIdsForStartingVisibleBackgroundUsers() によって返されたディスプレイを渡して startVisibleBackgroundUser(int, int, boolean) を呼び出すことができます。

戻り値
boolean

例外
DeviceNotAvailableException

listDisplayIds

public  listDisplayIds ()

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

戻り値
ディスプレイのリスト。デフォルトでは、常にデフォルトの表示 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: 削除するデバイス管理者の ID。

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: デバイス所有者となるデバイス管理者の ID。

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, 
                boolean waitFlag, 
                boolean forceFlag)

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

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

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

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

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

例外
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId)

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

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

戻り値
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 で再起動します。

パラメータ
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