INativeDevice
public
interface
INativeDevice
com.android.tradefed.device.INativeDevice |
為 ddmlib IDevice
提供可靠且稍微高階的 API。
針對裝置指令重試可設定的次數,並為無法回應的裝置提供裝置復原介面。
摘要
常數 | |
---|---|
int |
UNKNOWN_API_LEVEL
無法偵測 API 級別時的預設值 |
公用方法 | |
---|---|
abstract
boolean
|
checkApiLevelAgainstNextRelease(int strictMinLevel)
檢查是否有任何功能目前支援最小支援級別。 |
abstract
void
|
clearLogcat()
刪除任何累積的 Logcat 資料。 |
abstract
void
|
deleteFile(String deviceFilePath)
用於刪除裝置上檔案或目錄的輔助方法。 |
abstract
void
|
deleteFile(String deviceFilePath, int userId)
用於刪除裝置上檔案或目錄的輔助方法。 |
abstract
boolean
|
deviceSoftRestarted(ProcessInfo prevSystemServerProcess)
輔助方法,可比較目前的 system_server 與先前的 system_server |
abstract
boolean
|
deviceSoftRestartedSince(long utcEpochTime, TimeUnit timeUnit)
輔助方法,用於檢查裝置是否自 Epoch 紀元時間起算 (採用世界標準時間) 以來,已軟體重新啟動。 |
abstract
boolean
|
disableAdbRoot()
關閉 ADB 根目錄。 |
abstract
boolean
|
doesFileExist(String deviceFilePath)
輔助方法,用於判斷裝置上是否有檔案。 |
abstract
boolean
|
enableAdbRoot()
開啟 ADB 根目錄。 |
abstract
String
|
executeAdbCommand(long timeout, String... commandArgs)
輔助方法,可將 ADB 指令做為系統指令執行,並設有指定的逾時期限。 |
abstract
String
|
executeAdbCommand(String... commandArgs)
輔助方法,可將 ADB 指令視為系統指令執行。 |
abstract
String
|
executeAdbCommand(long timeout,
輔助方法,可將 ADB 指令做為系統指令執行,並設有指定的逾時期限。 |
abstract
CommandResult
|
executeFastbootCommand(long timeout, String... commandArgs)
輔助方法,可將 fastboot 指令做為系統指令執行。 |
abstract
CommandResult
|
executeFastbootCommand(String... commandArgs)
輔助方法,可將 fastboot 指令做為系統指令執行,預設逾時時間為 2 分鐘。 |
abstract
CommandResult
|
executeLongFastbootCommand(String... commandArgs)
輔助方法,可將長時間執行的 fastboot 指令做為系統指令執行。 |
abstract
CommandResult
|
executeLongFastbootCommand(
輔助方法,可將長時間執行的 fastboot 指令做為系統指令,並搭配系統環境變數執行。 |
abstract
String
|
executeShellCommand(String command)
執行 ADB 殼層指令並以 |
abstract
void
|
executeShellCommand(String command, IShellOutputReceiver receiver, long maxTimeToOutputShellResponse, TimeUnit timeUnit, int retryAttempts)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。 |
abstract
void
|
executeShellCommand(String command, IShellOutputReceiver receiver, long maxTimeoutForCommand, long maxTimeToOutputShellResponse, TimeUnit timeUnit, int retryAttempts)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。 |
abstract
void
|
executeShellCommand(String command, IShellOutputReceiver receiver)
執行指定的 ADB 殼層指令,如果指令失敗,則重試多次。 |
abstract
CommandResult
|
executeShellV2Command(String command)
輔助方法,可執行 ADB 殼層指令,並將結果傳回為 |
abstract
CommandResult
|
executeShellV2Command(String command, OutputStream pipeToOutput)
輔助方法,可執行 ADB 殼層指令,並將結果傳回為 |
abstract
CommandResult
|
executeShellV2Command(String command, File pipeAsInput)
輔助方法,可執行 ADB 殼層指令,並將結果傳回為 |
abstract
CommandResult
|
executeShellV2Command(String command, long maxTimeoutForCommand, TimeUnit timeUnit, int retryAttempts)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。 |
abstract
CommandResult
|
executeShellV2Command(String command, long maxTimeoutForCommand, TimeUnit timeUnit)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。 |
abstract
CommandResult
|
executeShellV2Command(String command, File pipeAsInput, OutputStream pipeToOutput, long maxTimeoutForCommand, TimeUnit timeUnit, int retryAttempts)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。 |
abstract
CommandResult
|
executeShellV2Command(String command, File pipeAsInput, OutputStream pipeToOutput, OutputStream pipeToError, long maxTimeoutForCommand, TimeUnit timeUnit, int retryAttempts)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。 |
abstract
CommandResult
|
fastbootWipePartition(String partition)
裝置分區的輔助方法。 |
abstract
int
|
getApiLevel()
取得裝置 API 級別。 |
abstract
String
|
getBasebandVersion()
取得此裝置基頻 (無線電) 版本的簡便方法。 |
abstract
Integer
|
getBattery()
傳回裝置目前的電池電量,如果無法取得電池電量,則傳回 Null。 |
abstract
boolean
|
getBooleanProperty(String name, boolean defaultValue)
傳回指定屬性的布林值。 |
abstract
|
getBootHistory()
輔助方法會收集啟動時間和啟動原因的啟動記錄地圖。 |
abstract
|
getBootHistorySince(long utcEpochTime, TimeUnit timeUnit)
輔助方法會收集啟動歷史地圖,其中包含從裝置的指定時間起算的啟動時間和啟動原因,以及指定的時間單位。 |
abstract
String
|
getBootloaderVersion()
取得此裝置的系統啟動載入程式版本的便利方法。 |
abstract
String
|
getBuildAlias()
擷取裝置目前執行的版本別名。 |
abstract
String
|
getBuildFlavor()
擷取裝置的版本風味。 |
abstract
String
|
getBuildId()
擷取裝置目前執行的版本。 |
abstract
String
|
getBuildSigningKeys()
傳回用於簽署裝置映像檔的金鑰類型 通常 Android 裝置會使用測試金鑰 (例如 AOSP 中的) 或發布金鑰 (由個別裝置製造商控制) 進行簽署 |
abstract
DeviceDescriptor
|
getCachedDeviceDescriptor()
如果已分配裝置,則會傳回快取的 |
abstract
DeviceDescriptor
|
getCachedDeviceDescriptor(boolean shortDescriptor)
如果已分配裝置,則會傳回快取的 |
abstract
String[]
|
getChildren(String deviceFilePath)
使用 |
abstract
AbstractConnection
|
getConnection()
傳回與裝置相關聯的連線。 |
abstract
String
|
getDeviceClass()
取得裝置類別。 |
abstract
long
|
getDeviceDate()
以 Epoch 紀元時間為起點,以毫秒為單位傳回裝置的日期。 |
abstract
DeviceDescriptor
|
getDeviceDescriptor()
從裝置資訊傳回 |
abstract
DeviceDescriptor
|
getDeviceDescriptor(boolean shortDescriptor)
從裝置資訊傳回 |
abstract
TestDeviceState
|
getDeviceState()
取得裝置狀態。 |
abstract
long
|
getDeviceTimeOffset(Date date)
輔助函式,用於取得裝置與指定 |
abstract
InputStreamSource
|
getEmulatorOutput()
取得模擬器 stdout 和 stderr 的串流 |
abstract
long
|
getExternalStoreFreeSpace()
輔助方法,用於判斷裝置外部儲存空間的可用空間大小。 |
abstract
String
|
getFastbootProductType()
在快速系統啟動模式下,取得裝置產品類型的便利方法。 |
abstract
String
|
getFastbootProductVariant()
在快速系統啟動模式下,取得裝置產品類型的便利方法。 |
abstract
String
|
getFastbootSerialNumber()
傳回快速啟動模式序號。 |
abstract
String
|
getFastbootVariable(String variableName)
從裝置擷取指定的 fastboot 變數值。 |
abstract
IFileEntry
|
getFileEntry(String path)
擷取裝置上遠端檔案的參照。 |
abstract
IDevice
|
getIDevice()
傳回相關 ddmlib |
abstract
long
|
getIntProperty(String name, long defaultValue)
傳回裝置中指定屬性的整數值。 |
abstract
long
|
getLastExpectedRebootTimeMillis()
傳回 Tradefed API 上次觸發重新啟動作業的時間,以自 |
abstract
int
|
getLaunchApiLevel()
取得裝置首次啟動的 API 級別。 |
abstract
InputStreamSource
|
getLogcat()
擷取 logcat 資料的快照串流。 |
abstract
InputStreamSource
|
getLogcat(int maxBytes)
擷取最後 |
abstract
InputStreamSource
|
getLogcatDump()
取得裝置目前 Logcat 的傾印內容。 |
abstract
InputStreamSource
|
getLogcatSince(long date)
擷取指定日期起所擷取的 logcat 資料快照串流。 |
abstract
String
|
getMountPoint(String mountName)
傳回掛接點。 |
abstract
ITestDevice.MountPointInfo
|
getMountPointInfo(String mountpoint)
傳回與指定掛載點路徑相對應的 |
abstract
|
getMountPointInfo()
傳回裝置上 /proc/mounts 中剖析版本的資訊 |
abstract
long
|
getPartitionFreeSpace(String partition)
輔助方法,用於判斷裝置分區的可用空間大小。 |
abstract
ProcessInfo
|
getProcessByName(String processName)
輔助方法會執行「pidof」和「stat」指令,並傳回 |
abstract
String
|
getProcessPid(String process)
傳回服務的 pid,如果發生錯誤則傳回 null。 |
abstract
String
|
getProductType()
取得此裝置產品類型的便利方法。 |
abstract
String
|
getProductVariant()
取得此裝置產品子類的便利方法。 |
abstract
String
|
getProperty(String name)
從裝置中擷取指定的屬性值。 |
abstract
ITestDevice.RecoveryMode
|
getRecoveryMode()
取得裝置目前使用的復原模式。 |
abstract
String
|
getSerialNumber()
取得此裝置序號的便利方法。 |
abstract
|
getTombstones()
從裝置擷取並傳回墓碑清單。 |
abstract
long
|
getTotalMemory()
以位元組為單位傳回實體記憶體總大小,或在發生內部錯誤時傳回 -1 |
default
String
|
getTrackingSerial()
為了裝置管理目的,請取得用於追蹤裝置的序號。 |
abstract
boolean
|
getUseFastbootErase()
取得是否要使用 fastboot erase 或 fastboot format 來清除裝置上的分區。 |
abstract
boolean
|
isAdbRoot()
|
abstract
boolean
|
isAdbTcp()
|
abstract
boolean
|
isAppEnumerationSupported()
檢查裝置上的平台是否支援應用程式列舉 |
abstract
boolean
|
isBypassLowTargetSdkBlockSupported()
檢查裝置平台是否支援在應用程式安裝時略過低目標 SDK 封鎖機制 |
abstract
boolean
|
isDebugfsMounted()
檢查是否已掛載 debugfs。 |
abstract
boolean
|
isDeviceEncrypted()
傳回裝置是否受到加密保護。 |
abstract
boolean
|
isDirectory(String deviceFilePath)
如果裝置上的路徑是目錄,則傳回 True,否則傳回 false。 |
abstract
boolean
|
isEncryptionSupported()
傳回裝置是否支援加密功能。 |
abstract
boolean
|
isExecutable(String fullPath)
如果裝置上的檔案路徑是可執行檔案,則傳回「是」;否則傳回「否」。 |
abstract
boolean
|
isHeadless()
如果裝置是無頭裝置 (沒有螢幕),則傳回「是」;否則傳回「否」。 |
abstract
boolean
|
isRuntimePermissionSupported()
檢查裝置上的平台是否支援授予執行階段權限 |
abstract
boolean
|
isStateBootloaderOrFastbootd()
如果裝置位於 |
abstract
boolean
|
logAnrs(ITestLogger logger)
從裝置收集並記錄 ANR。 |
abstract
void
|
logOnDevice(String tag, Log.LogLevel level, String format, Object... args)
在裝置的 logcat 中記錄訊息。 |
abstract
void
|
mountDebugfs()
掛接 debugfs。 |
abstract
void
|
nonBlockingReboot()
發出指令重新啟動裝置,並在指令完成及裝置不再對 ADB 可見時傳回。 |
abstract
void
|
postBootSetup()
執行操作說明,設定裝置以便每次啟動後進行測試。 |
default
void
|
postInvocationTearDown()
這個方法已淘汰。
請改用 |
abstract
void
|
postInvocationTearDown(Throwable invocationException)
裝置專屬的必要清除步驟,會在呼叫完成後執行。 |
default
void
|
preInvocationSetup(IBuildInfo info, MultiMap<String, String> attributes)
裝置專屬的額外步驟,必須在叫用流程前在裝置上執行。 |
abstract
boolean
|
pullDir(String deviceFilePath, File localDir)
遞迴式從裝置中提取目錄內容。 |
abstract
boolean
|
pullDir(String deviceFilePath, File localDir, int userId)
遞迴式從裝置中提取目錄內容。 |
abstract
File
|
pullFile(String remoteFilePath, int userId)
從裝置中擷取檔案,將檔案儲存在本機暫存的 |
abstract
File
|
pullFile(String remoteFilePath)
從裝置中擷取檔案,將檔案儲存在本機暫存的 |
abstract
boolean
|
pullFile(String remoteFilePath, File localFile)
從裝置中擷取檔案。 |
abstract
boolean
|
pullFile(String remoteFilePath, File localFile, int userId)
從裝置中擷取檔案。 |
abstract
String
|
pullFileContents(String remoteFilePath)
從裝置中擷取檔案,並傳回內容。 |
abstract
File
|
pullFileFromExternal(String remoteFilePath)
方便方法,可從裝置的外部儲存空間擷取檔案,將檔案儲存在本機暫時 |
abstract
boolean
|
pushDir(File localDir, String deviceFilePath, int userId)
遞迴地將目錄內容推送至裝置。 |
abstract
boolean
|
pushDir(File localDir, String deviceFilePath,
遞迴將目錄內容推送至裝置,同時排除部分已篩選的目錄。 |
abstract
boolean
|
pushDir(File localDir, String deviceFilePath)
遞迴地將目錄內容推送至裝置。 |
abstract
boolean
|
pushFile(File localFile, String deviceFilePath, boolean evaluateContentProviderNeeded)
|
abstract
boolean
|
pushFile(File localFile, String deviceFilePath)
將檔案推送至裝置。 |
abstract
boolean
|
pushFile(File localFile, String deviceFilePath, int userId)
將檔案推送至裝置。 |
abstract
boolean
|
pushString(String contents, String deviceFilePath)
將從字串建立的檔案推送至裝置 |
abstract
void
|
reboot()
重新啟動裝置並進入 ADB 模式。 |
abstract
void
|
reboot(String reason)
將裝置重新啟動至 ADB 模式,並使用指定的 |
abstract
void
|
rebootIntoBootloader()
重新啟動裝置並進入系統啟動載入程式模式。 |
abstract
void
|
rebootIntoFastbootd()
將裝置重新啟動至快速系統啟動模式。 |
abstract
void
|
rebootIntoRecovery()
重新啟動裝置,進入 ADB 復原模式。 |
abstract
void
|
rebootIntoSideload(boolean autoReboot)
將裝置重新啟動至 ADB 側載模式 (請注意,這是復原模式下的特殊模式) 阻斷裝置進入側載模式 |
abstract
void
|
rebootIntoSideload()
將裝置重新啟動至 ADB 側載模式 (請注意,這是復原模式下的特殊模式) 阻斷裝置進入側載模式 |
abstract
void
|
rebootUntilOnline()
|
abstract
void
|
rebootUntilOnline(String reason)
|
abstract
void
|
rebootUserspace()
僅重新啟動裝置的使用者空間部分。 |
abstract
void
|
rebootUserspaceUntilOnline()
這是 |
abstract
void
|
remountSystemReadOnly()
將裝置上的系統分區設為唯讀。 |
abstract
void
|
remountSystemWritable()
讓裝置上的系統分區可供寫入。 |
abstract
void
|
remountVendorReadOnly()
將裝置上的供應商分區設為唯讀。 |
abstract
void
|
remountVendorWritable()
讓裝置上的供應商分區可供寫入。 |
abstract
boolean
|
runInstrumentationTests(IRemoteAndroidTestRunner runner, ITestLifeCycleReceiver... listeners)
方便方法,可使用一或多個以參數傳遞的事件監聽器執行 |
abstract
boolean
|
runInstrumentationTests(IRemoteAndroidTestRunner runner,
執行檢測設備測試,並提供裝置復原功能。 |
abstract
boolean
|
runInstrumentationTestsAsUser(IRemoteAndroidTestRunner runner, int userId,
|
abstract
boolean
|
runInstrumentationTestsAsUser(IRemoteAndroidTestRunner runner, int userId, ITestLifeCycleReceiver... listeners)
與 |
abstract
void
|
setDate(Date date)
設定裝置上的日期 注意:在裝置上設定日期需要取得 root 權限 |
abstract
void
|
setOptions(TestDeviceOptions options)
為裝置設定 |
abstract
boolean
|
setProperty(String propKey, String propValue)
在裝置上設定指定的屬性值。 |
abstract
void
|
setRecovery(IDeviceRecovery recovery)
設定要用於這部裝置的 |
abstract
void
|
setRecoveryMode(ITestDevice.RecoveryMode mode)
設定裝置目前要使用的復原模式。 |
abstract
void
|
setTrackingSerial(String trackingSerial)
為了管理裝置,請追蹤我們用於參照裝置的序號。 |
abstract
void
|
setUseFastbootErase(boolean useFastbootErase)
設定是否要使用 fastboot erase 或 fastboot format 來清除裝置上的分區。 |
abstract
void
|
startLogcat()
開始在背景擷取裝置的 Logcat 輸出內容。 |
abstract
void
|
stopEmulatorOutput()
關閉並刪除模擬器輸出內容。 |
abstract
void
|
stopLogcat()
停止擷取裝置的 Logcat 輸出內容,並捨棄目前儲存的 Logcat 資料。 |
abstract
String
|
switchToAdbTcp()
將裝置切換至 ADB-over-TCP 模式。 |
abstract
boolean
|
switchToAdbUsb()
將裝置切換至透過 USB 的 ADB 模式。 |
abstract
boolean
|
syncFiles(File localFileDir, String deviceFilePath)
將本機檔案目錄的內容以遞增方式同步至裝置。 |
abstract
boolean
|
unlockDevice()
如果裝置處於加密狀態,則解鎖裝置。 |
abstract
void
|
unmountDebugfs()
卸載 debugfs。 |
abstract
boolean
|
waitForBootComplete(long timeOut)
阻斷,直到裝置的啟動完成標記設定為止。 |
abstract
boolean
|
waitForDeviceAvailable()
等待裝置回應並可供測試。 |
abstract
boolean
|
waitForDeviceAvailable(long waitTime)
等待裝置回應並可供測試。 |
abstract
boolean
|
waitForDeviceAvailableInRecoverPath(long waitTime)
等待裝置回應並可使用,但不考慮復原路徑。 |
abstract
void
|
waitForDeviceBootloader()
直到裝置可透過 fastboot 顯示為止。 |
abstract
boolean
|
waitForDeviceInRecovery(long waitTime)
裝置必須處於「adb recovery」狀態才能執行的區塊 (請注意,這與 |
abstract
boolean
|
waitForDeviceInSideload(long waitTime)
裝置必須處於「adb sideload」狀態才能解除封鎖 |
abstract
boolean
|
waitForDeviceNotAvailable(long waitTime)
無法使用的裝置區塊,例如 ADB 中缺少的區塊 |
abstract
void
|
waitForDeviceOnline()
直到裝置可透過 ADB 查看為止。 |
abstract
void
|
waitForDeviceOnline(long waitTime)
直到裝置可透過 ADB 查看為止。 |
abstract
boolean
|
waitForDeviceShell(long waitTime)
等待裝置回應基本 ADB 殼層指令。 |
常數
UNKNOWN_API_LEVEL
public static final int UNKNOWN_API_LEVEL
無法偵測 API 級別時的預設值
常數值:-1 (0xffffffff)
公用方法
checkApiLevelAgainstNextRelease
public abstract boolean checkApiLevelAgainstNextRelease (int strictMinLevel)
確認某項功能目前是否支援最小支援級別。這個方法會在 API 級別提升前,考量尚未發布的功能。
參數 | |
---|---|
strictMinLevel |
int :支援該功能的嚴格最小可能版本。 |
傳回 | |
---|---|
boolean |
如果系統支援該等級,則為 True。否則為 False。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
clearLogcat
public abstract void clearLogcat ()
刪除所有累積的 Logcat 資料。
這在您想確保 ITestDevice.getLogcat()
只會傳回特定時間點後產生的記錄資料 (例如刷新新裝置版本後) 時很有用。
deleteFile
public abstract void deleteFile (String deviceFilePath)
用於刪除裝置上檔案或目錄的輔助方法。
參數 | |
---|---|
deviceFilePath |
String :裝置上檔案的絕對路徑。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
deleteFile
public abstract void deleteFile (String deviceFilePath, int userId)
用於刪除裝置上檔案或目錄的輔助方法。
參數 | |
---|---|
deviceFilePath |
String :裝置上檔案的絕對路徑。 |
userId |
int :要從中刪除的使用者 ID |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
deviceSoftRestarted
public abstract boolean deviceSoftRestarted (ProcessInfo prevSystemServerProcess)
輔助方法,可比較目前的 system_server 與先前的 system_server ProcessInfo
,檢查裝置是否已軟重啟。使用 getProcessByName(String)
可取得 ProcessInfo
。
參數 | |
---|---|
prevSystemServerProcess |
ProcessInfo :先前的 system_server 程序 ProcessInfo 。 |
傳回 | |
---|---|
boolean |
true 裝置是否已軟體重新啟動 |
擲回 | |
---|---|
RuntimeException |
裝置是否有異常的啟動原因 |
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
deviceSoftRestartedSince
public abstract boolean deviceSoftRestartedSince (long utcEpochTime, TimeUnit timeUnit)
輔助方法,用於檢查裝置和其 ERROR(/TimeUnit)
自 Epoch 紀元時間起算的 UTC 時間是否已軟重啟。軟重啟是指在裝置強制重啟 (例如:要求重啟) 之外重新啟動 system_server。您可以使用 getDeviceDate()
方法,取得目前裝置的 utcEpochTime 以毫秒為單位。
參數 | |
---|---|
utcEpochTime |
long :裝置時間,從紀元時間起算的秒數。 |
timeUnit |
TimeUnit :指定 utcEpochTime 的時間單位 TimeUnit 。 |
傳回 | |
---|---|
boolean |
true 裝置是否已軟體重新啟動 |
擲回 | |
---|---|
RuntimeException |
裝置是否有異常的啟動原因 |
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
disableAdbRoot
public abstract boolean disableAdbRoot ()
關閉 ADB 根目錄。
停用 ADB 根目錄可能會導致裝置與 ADB 斷開連線。這個方法會在裝置可用之前阻斷。
傳回 | |
---|---|
boolean |
成功時會傳回 true 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
doesFileExist
public abstract boolean doesFileExist (String deviceFilePath)
輔助方法,用於判斷裝置上是否有檔案。
參數 | |
---|---|
deviceFilePath |
String :要檢查的裝置檔案絕對路徑 |
傳回 | |
---|---|
boolean |
如果檔案存在,則傳回 true ,否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
enableAdbRoot
public abstract boolean enableAdbRoot ()
開啟 ADB 根目錄。如果「enable-root」設定為「false」,則會記錄訊息並傳回,但不會啟用 root。
啟用 ADB 根目錄可能會導致裝置與 ADB 中斷連線。這個方法會在裝置可用之前阻斷。
傳回 | |
---|---|
boolean |
成功時會傳回 true 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeAdbCommand
public abstract String executeAdbCommand (long timeout, String... commandArgs)
輔助方法,可將 ADB 指令做為系統指令執行,並設有指定的逾時期限。
盡可能使用 executeShellCommand(String)
,因為該方法可提供更佳的失敗偵測和效能。
參數 | |
---|---|
timeout |
long :裝置被視為無回應之前的時間 (以毫秒為單位),如果沒有逾時時間,則為 0L |
commandArgs |
String :要執行的 ADB 指令和引數 |
傳回 | |
---|---|
String |
指令的 stdout。null ,如果指令無法執行。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeAdbCommand
public abstract String executeAdbCommand (String... commandArgs)
輔助方法,可將 ADB 指令做為系統指令執行。
盡可能使用 executeShellCommand(String)
,因為該方法可提供更佳的失敗偵測和效能。
參數 | |
---|---|
commandArgs |
String :要執行的 ADB 指令和引數 |
傳回 | |
---|---|
String |
指令的 stdout。null ,如果指令無法執行。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeAdbCommand
public abstract String executeAdbCommand (long timeout,envMap, String... commandArgs)
輔助方法,可將 ADB 指令做為系統指令執行,並設有指定的逾時期限。
盡可能使用 executeShellCommand(String)
,因為該方法可提供更佳的失敗偵測和效能。
參數 | |
---|---|
timeout |
long :裝置被視為無回應之前的時間 (以毫秒為單位),如果沒有逾時時間,則為 0L |
envMap |
:要為指令設定的環境 |
commandArgs |
String :要執行的 ADB 指令和引數 |
傳回 | |
---|---|
String |
指令的 stdout。null ,如果指令無法執行。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeFastbootCommand
public abstract CommandResult executeFastbootCommand (long timeout, String... commandArgs)
輔助方法,可將 fastboot 指令做為系統指令執行。
預期在裝置已進入快速系統啟動模式時使用。
參數 | |
---|---|
timeout |
long :指令到期前剩餘的時間 (以毫秒為單位) |
commandArgs |
String :要執行的 Fastboot 指令和引數 |
傳回 | |
---|---|
CommandResult |
包含指令輸出的 CommandResult |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeFastbootCommand
public abstract CommandResult executeFastbootCommand (String... commandArgs)
輔助方法,可將 fastboot 指令視為系統指令執行,預設逾時時間為 2 分鐘。
預期在裝置已進入快速系統啟動模式時使用。
參數 | |
---|---|
commandArgs |
String :要執行的 Fastboot 指令和引數 |
傳回 | |
---|---|
CommandResult |
包含指令輸出的 CommandResult |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeLongFastbootCommand
public abstract CommandResult executeLongFastbootCommand (String... commandArgs)
輔助方法,可將長時間執行的 fastboot 指令視為系統指令執行。
與 executeFastbootCommand(String)
相同,但使用較長的逾時時間。
參數 | |
---|---|
commandArgs |
String :要執行的 Fastboot 指令和引數 |
傳回 | |
---|---|
CommandResult |
包含指令輸出的 CommandResult |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeLongFastbootCommand
public abstract CommandResult executeLongFastbootCommand (envVarMap, String... commandArgs)
輔助方法,可將長時間執行的 fastboot 指令做為系統指令,並搭配系統環境變數執行。
與 executeFastbootCommand(String)
相同,但使用較長的逾時時間。
參數 | |
---|---|
envVarMap |
:fastboot 指令執行時使用的系統環境變數 |
commandArgs |
String :要執行的 Fastboot 指令和引數 |
傳回 | |
---|---|
CommandResult |
包含指令輸出的 CommandResult |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellCommand
public abstract String executeShellCommand (String command)
執行 ADB 殼層指令並將輸出內容傳回為 String
的輔助方法。
參數 | |
---|---|
command |
String :要執行的 ADB 殼層指令 |
傳回 | |
---|---|
String |
殼層輸出內容 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellCommand
public abstract void executeShellCommand (String command, IShellOutputReceiver receiver, long maxTimeToOutputShellResponse, TimeUnit timeUnit, int retryAttempts)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。
參數 | |
---|---|
command |
String :要執行的 ADB 殼層指令 |
receiver |
IShellOutputReceiver :要將殼層輸出內容導向至的 IShellOutputReceiver 。 |
maxTimeToOutputShellResponse |
long :指令允許不輸出任何回應的時間上限;單位如 timeUnit 所指定 |
timeUnit |
TimeUnit :maxTimeToOutputShellResponse 的單位 |
retryAttempts |
int :如果指令因例外狀況而失敗,則重試指令的次數上限。如果執行 retryAttempts 失敗,系統會擲回 DeviceNotResponsiveException。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellCommand
public abstract void executeShellCommand (String command, IShellOutputReceiver receiver, long maxTimeoutForCommand, long maxTimeToOutputShellResponse, TimeUnit timeUnit, int retryAttempts)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。
參數 | |
---|---|
command |
String :要執行的 ADB 殼層指令 |
receiver |
IShellOutputReceiver :要將殼層輸出內容導向至的 IShellOutputReceiver 。 |
maxTimeoutForCommand |
long :指令完成的最大逾時時間,單位為 timeUnit 中指定的單位 |
maxTimeToOutputShellResponse |
long :指令允許不輸出任何回應的時間上限;單位為 timeUnit 中指定的單位 |
timeUnit |
TimeUnit :maxTimeToOutputShellResponse 的單位 |
retryAttempts |
int :如果指令因例外狀況而失敗,則重試指令的次數上限。如果執行 retryAttempts 失敗,系統會擲回 DeviceNotResponsiveException。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellCommand
public abstract void executeShellCommand (String command, IShellOutputReceiver receiver)
執行指定的 ADB 殼層指令,如果指令失敗,則重試多次。
executeShellCommand(String, com.android.ddmlib.IShellOutputReceiver, long, TimeUnit, int)
的簡易形式,含有預設值。
參數 | |
---|---|
command |
String :要執行的 ADB 殼層指令 |
receiver |
IShellOutputReceiver :要將殼層輸出內容導向至的 IShellOutputReceiver 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellV2Command
public abstract CommandResult executeShellV2Command (String command)
輔助方法,可執行 ADB 殼層指令,並將結果傳回為 CommandResult
,並以適當方式填入指令狀態輸出內容、stdout 和 stderr。
參數 | |
---|---|
command |
String :應執行的指令。 |
傳回 | |
---|---|
CommandResult |
CommandResult 中的結果。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellV2Command
public abstract CommandResult executeShellV2Command (String command, OutputStream pipeToOutput)
輔助方法,可執行 ADB 殼層指令,並將結果傳回為 CommandResult
,並以適當方式填入指令狀態輸出內容和 stderr。stdout 會導向至指定的串流。
參數 | |
---|---|
command |
String :應執行的指令。 |
pipeToOutput |
OutputStream :ERROR(/OutputStream) 會重新導向 std 輸出內容,或為空值。 |
傳回 | |
---|---|
CommandResult |
CommandResult 中的結果。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellV2Command
public abstract CommandResult executeShellV2Command (String command, File pipeAsInput)
輔助方法,可執行 ADB 殼層指令,並將結果傳回為 CommandResult
,並以適當方式填入指令狀態輸出內容、stdout 和 stderr。
參數 | |
---|---|
command |
String :應執行的指令。 |
pipeAsInput |
File :會傳送至指令做為輸入內容的 ERROR(/File) ,或空值。 |
傳回 | |
---|---|
CommandResult |
CommandResult 中的結果。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellV2Command
public abstract CommandResult executeShellV2Command (String command, long maxTimeoutForCommand, TimeUnit timeUnit, int retryAttempts)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。
參數 | |
---|---|
command |
String :要執行的 ADB 殼層指令 |
maxTimeoutForCommand |
long :指令完成的最大逾時時間,單位為 timeUnit 中指定的單位 |
timeUnit |
TimeUnit :maxTimeToOutputShellResponse 的單位 |
retryAttempts |
int :如果指令因例外狀況而失敗,則重試指令的次數上限。如果執行 retryAttempts 失敗,系統會擲回 DeviceNotResponsiveException。 |
傳回 | |
---|---|
CommandResult |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellV2Command
public abstract CommandResult executeShellV2Command (String command, long maxTimeoutForCommand, TimeUnit timeUnit)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。
參數 | |
---|---|
command |
String :要執行的 ADB 殼層指令 |
maxTimeoutForCommand |
long :指令完成的最大逾時時間,單位為 timeUnit 中指定的單位 |
timeUnit |
TimeUnit :maxTimeToOutputShellResponse 的單位 |
傳回 | |
---|---|
CommandResult |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellV2Command
public abstract CommandResult executeShellV2Command (String command, File pipeAsInput, OutputStream pipeToOutput, long maxTimeoutForCommand, TimeUnit timeUnit, int retryAttempts)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。
參數 | |
---|---|
command |
String :要執行的 ADB 殼層指令 |
pipeAsInput |
File :會傳送至指令做為輸入內容的 ERROR(/File) ,或空值。 |
pipeToOutput |
OutputStream :ERROR(/OutputStream) 會重新導向 std 輸出內容,或為空值。 |
maxTimeoutForCommand |
long :指令完成的最大逾時時間,單位為 timeUnit 中指定的單位 |
timeUnit |
TimeUnit :maxTimeToOutputShellResponse 的單位 |
retryAttempts |
int :如果指令因例外狀況而失敗,則重試指令的次數上限。如果執行 retryAttempts 失敗,系統會擲回 DeviceNotResponsiveException。 |
傳回 | |
---|---|
CommandResult |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
executeShellV2Command
public abstract CommandResult executeShellV2Command (String command, File pipeAsInput, OutputStream pipeToOutput, OutputStream pipeToError, long maxTimeoutForCommand, TimeUnit timeUnit, int retryAttempts)
執行 ADB 殼層指令,並提供更多參數來控制指令行為。
參數 | |
---|---|
command |
String :要執行的 ADB 殼層指令 |
pipeAsInput |
File :會傳送至指令做為輸入內容的 ERROR(/File) ,或空值。 |
pipeToOutput |
OutputStream :ERROR(/OutputStream) 會重新導向 std 輸出內容,或為空值。 |
pipeToError |
OutputStream :ERROR(/OutputStream) ,其中 std 錯誤會重新導向,或為空值。 |
maxTimeoutForCommand |
long :指令完成的最大逾時時間,單位為 timeUnit 中指定的單位 |
timeUnit |
TimeUnit :maxTimeToOutputShellResponse 的單位 |
retryAttempts |
int :如果指令因例外狀況而失敗,則重試指令的次數上限。如果執行 retryAttempts 失敗,系統會擲回 DeviceNotResponsiveException。 |
傳回 | |
---|---|
CommandResult |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
fastbootWipePartition
public abstract CommandResult fastbootWipePartition (String partition)
裝置分區的輔助方法。
如果 getUseFastbootErase()
是 true
,則會使用快速啟動清除功能來清除分區。裝置必須在下次啟動時建立檔案系統。否則,系統會使用 fastboot 格式,在裝置上建立新的檔案系統。
預期在裝置已進入快速系統啟動模式時使用。
參數 | |
---|---|
partition |
String :要清除的分割區 |
傳回 | |
---|---|
CommandResult |
包含指令輸出的 CommandResult |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
getApiLevel
public abstract int getApiLevel ()
取得裝置 API 級別。預設值為 UNKNOWN_API_LEVEL
。
傳回 | |
---|---|
int |
整數,表示裝置的 API 級別 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getBasebandVersion
public abstract String getBasebandVersion ()
取得此裝置基頻 (無線電) 版本的簡便方法。取得無線電版本資訊的功能會依裝置而異,因此可能無法為所有裝置傳回正確的資訊。這個方法會使用 gsm.version.baseband 屬性傳回正確的版本資訊。這項資訊對部分 CDMA 裝置來說並不準確,且此處傳回的版本可能與 fastboot 回報的版本不符,也可能不會傳回 CDMA 無線電的版本。簡而言之,只有在 gsm.version.baseband 屬性與 fastboot getvar version-baseband
傳回的版本相同時,這個方法才會回報正確的版本。
傳回 | |
---|---|
String |
String 基頻版本或 null (如果無法判斷)
(裝置沒有無線電或無法讀取版本字串) |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
getBattery
public abstract Integer getBattery ()
傳回裝置目前的電池電量,如果無法取得電池電量,則傳回 Null。
傳回 | |
---|---|
Integer |
getBooleanProperty
public abstract boolean getBooleanProperty (String name, boolean defaultValue)
傳回指定屬性的布林值。
參數 | |
---|---|
name |
String :屬性名稱 |
defaultValue |
boolean :如果屬性為空白或不存在,則傳回的預設值。 |
傳回 | |
---|---|
boolean |
如果屬性值為 "1" 、"y" 、"yes" 、"on" 或 "true" ,則為 true ;如果屬性值為 "0" 、"n" 、"no" 、"off" 、"false" 或 defaultValue ,則為 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
getBootHistory
public abstractgetBootHistory ()
輔助方法會收集啟動記錄地圖,其中包含啟動時間和啟動原因。
傳回 | |
---|---|
|
開機時間 (從 Epoch 紀元時間起算,以世界標準時間秒為單位) 和開機原因對照表 |
擲回 | |
---|---|
DeviceNotAvailableException |
getBootHistorySince
public abstractgetBootHistorySince (long utcEpochTime, TimeUnit timeUnit)
輔助方法會收集啟動歷史地圖,其中包含從裝置的指定時間起算的啟動時間和啟動原因,以及指定的時間單位。您可以使用 getDeviceDate()
方法,取得目前裝置的 utcEpochTime 以毫秒為單位。
參數 | |
---|---|
utcEpochTime |
long :自 Epoch 起算的裝置時間。 |
timeUnit |
TimeUnit :時間單位 TimeUnit 。 |
傳回 | |
---|---|
|
開機時間 (從 Epoch 紀元時間起算,以世界標準時間秒為單位) 和開機原因對照表 |
擲回 | |
---|---|
DeviceNotAvailableException |
getBootloaderVersion
public abstract String getBootloaderVersion ()
取得此裝置的系統啟動載入程式版本的便利方法。
會嘗試從裝置目前狀態中擷取引導程式版本。(例如,如果裝置處於快速系統啟動模式,則會嘗試從快速系統啟動模式擷取版本)
傳回 | |
---|---|
String |
String 系統啟動載入程式版本,或 null (如果找不到) |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
getBuildAlias
public abstract String getBuildAlias ()
擷取裝置目前執行的版本別名。
相較於版本 ID (通常是 Nexus 版本的編號),版本別名通常是更易讀的字串。舉例來說,Android 4.2 最終版本的代號為 JDQ39,建構 ID 為 573038
傳回 | |
---|---|
String |
建構別名,如果無法擷取,則改為使用建構 ID |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getBuildFlavor
public abstract String getBuildFlavor ()
擷取裝置的版本風味。
傳回 | |
---|---|
String |
建構變化版本,如果無法擷取,則為空值 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getBuildId
public abstract String getBuildId ()
擷取裝置目前執行的版本。
傳回 | |
---|---|
String |
建構 ID 或 IBuildInfo.UNKNOWN_BUILD_ID (如果無法擷取) |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getBuildSigningKeys
public abstract String getBuildSigningKeys ()
傳回用於簽署裝置映像檔的金鑰類型
通常 Android 裝置會使用測試金鑰 (例如 AOSP) 或發布金鑰 (由個別裝置製造商控制) 進行簽署
傳回 | |
---|---|
String |
如果找到簽署金鑰,則傳回該金鑰,否則傳回空值。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getCachedDeviceDescriptor
public abstract DeviceDescriptor getCachedDeviceDescriptor ()
如果已分配裝置,則會傳回快取的 DeviceDescriptor
,否則會傳回目前的 DeviceDescriptor
。
傳回 | |
---|---|
DeviceDescriptor |
getCachedDeviceDescriptor
public abstract DeviceDescriptor getCachedDeviceDescriptor (boolean shortDescriptor)
如果已分配裝置,則會傳回快取的 DeviceDescriptor
,否則會傳回目前的 DeviceDescriptor
。
參數 | |
---|---|
shortDescriptor |
boolean :是否將描述符限制為最少必要資訊 |
傳回 | |
---|---|
DeviceDescriptor |
getChildren
public abstract String[] getChildren (String deviceFilePath)
使用 IFileEntry
的替代方案,有時會因權限問題而無法運作。
參數 | |
---|---|
deviceFilePath |
String :裝置上要進行搜尋的路徑 |
傳回 | |
---|---|
String[] |
字串陣列,其中包含裝置路徑中的所有檔案。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getConnection
public abstract AbstractConnection getConnection ()
傳回與裝置相關聯的連線。
傳回 | |
---|---|
AbstractConnection |
getDeviceDate
public abstract long getDeviceDate ()
以 Epoch 紀元時間為起點,以毫秒為單位傳回裝置的日期。
傳回 | |
---|---|
long |
裝置的日期,以 Epoch 格式表示。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getDeviceDescriptor
public abstract DeviceDescriptor getDeviceDescriptor ()
從裝置資訊傳回 DeviceDescriptor
,即可取得相關資訊,而無須傳遞實際的裝置物件。
傳回 | |
---|---|
DeviceDescriptor |
getDeviceDescriptor
public abstract DeviceDescriptor getDeviceDescriptor (boolean shortDescriptor)
從裝置資訊傳回 DeviceDescriptor
,即可取得相關資訊,而無須傳遞實際的裝置物件。
參數 | |
---|---|
shortDescriptor |
boolean :是否將描述符限制為最少必要資訊 |
傳回 | |
---|---|
DeviceDescriptor |
getDeviceTimeOffset
public abstract long getDeviceTimeOffset (Date date)
輔助函式,用於取得裝置與指定 ERROR(/Date)
之間的時間差異。在內部使用 Epoch 時間。
參數 | |
---|---|
date |
Date |
傳回 | |
---|---|
long |
差異 (毫秒) |
擲回 | |
---|---|
DeviceNotAvailableException |
getEmulatorOutput
public abstract InputStreamSource getEmulatorOutput ()
取得模擬器 stdout 和 stderr 的串流
傳回 | |
---|---|
InputStreamSource |
模擬器輸出內容 |
getExternalStoreFreeSpace
public abstract long getExternalStoreFreeSpace ()
輔助方法,用於判斷裝置外部儲存空間的可用空間大小。
傳回 | |
---|---|
long |
可用空間大小 (以 KB 為單位) |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
getFastbootProductType
public abstract String getFastbootProductType ()
在快速系統啟動模式下,取得裝置產品類型的便利方法。
只有在裝置處於快速啟動模式時,才應使用此方法。在這種情況下,這個變化版本比一般 getProductType()
方法安全一些,因為如果裝置處於不正確狀態或無回應,ITestDevice 就會知道要將裝置復原為 fastboot。
傳回 | |
---|---|
String |
String 產品類型名稱,如果無法判斷,則為 null |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
getFastbootProductVariant
public abstract String getFastbootProductVariant ()
在快速系統啟動模式下,取得裝置產品類型的便利方法。
只有在裝置處於快速啟動模式時,才應使用此方法。在這種情況下,這個變化版本比一般 getProductType()
方法安全一些,因為如果裝置處於不正確狀態或無回應,ITestDevice 就會知道要將裝置復原為 fastboot。
傳回 | |
---|---|
String |
String 產品類型名稱,如果無法判斷,則為 null |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
getFastbootSerialNumber
public abstract String getFastbootSerialNumber ()
傳回快速啟動模式序號。
傳回 | |
---|---|
String |
getFastbootVariable
public abstract String getFastbootVariable (String variableName)
從裝置擷取指定的 fastboot 變數值。
參數 | |
---|---|
variableName |
String :變數名稱 |
傳回 | |
---|---|
String |
屬性值,如果不存在則為 null |
擲回 | |
---|---|
|
UnsupportedOperationException |
DeviceNotAvailableException |
getFileEntry
public abstract IFileEntry getFileEntry (String path)
擷取裝置上遠端檔案的參照。
參數 | |
---|---|
path |
String :要擷取的檔案路徑。可以是絕對路徑或相對於「/」的路徑 (也就是說,系統支援「/system」和「system」兩種語法) |
傳回 | |
---|---|
IFileEntry |
如果找不到指定 path 的檔案,則傳回 IFileEntry 或 null |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getIDevice
public abstract IDevice getIDevice ()
傳回相關 ddmlib IDevice
的參照。
每次裝置從 ADB 中斷連線並重新連線時,DDMS 都可能會分配新的 IDevice
。因此,呼叫端不應保留 IDevice
的參照,因為該參照可能會失效。
傳回 | |
---|---|
IDevice |
IDevice |
getIntProperty
public abstract long getIntProperty (String name, long defaultValue)
傳回裝置中指定屬性的整數值。
參數 | |
---|---|
name |
String :屬性名稱 |
defaultValue |
long :如果屬性為空白或不存在,則傳回的預設值。 |
傳回 | |
---|---|
long |
屬性值或 defaultValue (如果屬性為空白、不存在或沒有整數值)。 |
擲回 | |
---|---|
DeviceNotAvailableException |
getLastExpectedRebootTimeMillis
public abstract long getLastExpectedRebootTimeMillis ()
傳回 Tradefed API 上次觸發重新啟動作業的時間,以 System.currentTimeMillis()
傳回的 EPOCH 為基準,以毫秒為單位。
傳回 | |
---|---|
long |
getLaunchApiLevel
public abstract int getLaunchApiLevel ()
取得裝置首次啟動的 API 級別。預設值為 UNKNOWN_API_LEVEL
。
傳回 | |
---|---|
int |
整數,表示裝置首次啟動的 API 級別 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getLogcat
public abstract InputStreamSource getLogcat ()
擷取 logcat 資料的快照串流。
可在兩種模式下運作:
TestDeviceOptions.getMaxLogcatDataSize()
個位元組傳回 | |
---|---|
InputStreamSource |
getLogcat
public abstract InputStreamSource getLogcat (int maxBytes)
擷取最後 maxBytes
筆已擷取的 Logcat 資料的快照串流。
適用於您想經常擷取已擷取的 logcat 資料快照,但又不想因擷取整個 getLogcat()
快照而耗用大量磁碟空間的情況。
參數 | |
---|---|
maxBytes |
int :傳回的資料數量上限。應為可輕鬆放入記憶體的數量 |
傳回 | |
---|---|
InputStreamSource |
getLogcatDump
public abstract InputStreamSource getLogcatDump ()
取得裝置目前的 Logcat 轉儲檔案。與 getLogcat()
不同,此方法一律會傳回 logcat 的靜態傾印。
缺點是,如果無法連線到裝置,就不會傳回任何內容。
傳回 | |
---|---|
InputStreamSource |
InputStreamSource 的 Logcat 資料。如果擷取 logcat 資料失敗,系統會傳回空白串流。 |
getLogcatSince
public abstract InputStreamSource getLogcatSince (long date)
擷取擷取的 Logcat 資料快照串流,從指定日期開始。應使用裝置上的時間 getDeviceDate()
。
參數 | |
---|---|
date |
long :以 Epoch 格式表示的毫秒數,代表從何時開始擷取快照到目前的時間。(可使用「date +%s」取得) |
傳回 | |
---|---|
InputStreamSource |
getMountPoint
public abstract String getMountPoint (String mountName)
傳回掛接點。
如果 IDevice
中的快取資訊無法使用,則直接查詢裝置。
TODO:將此行為移至 IDevice.getMountPoint(String)
參數 | |
---|---|
mountName |
String :掛接點的名稱 |
傳回 | |
---|---|
String |
掛接點或 null |
getMountPointInfo
public abstract ITestDevice.MountPointInfo getMountPointInfo (String mountpoint)
傳回與指定掛載點路徑相對應的 MountPointInfo
,如果該路徑沒有任何掛載項目,或未以掛載點的形式顯示在 /proc/mounts 中,則傳回 null
。
參數 | |
---|---|
mountpoint |
String |
傳回 | |
---|---|
ITestDevice.MountPointInfo |
MountPointInfo 的 ERROR(/List) ,其中包含「/proc/mounts」中的資訊 |
擲回 | |
---|---|
DeviceNotAvailableException |
另請參閱:
getMountPointInfo
public abstractgetMountPointInfo ()
傳回裝置上 /proc/mounts 中剖析版本的資訊
傳回 | |
---|---|
|
MountPointInfo 的 ERROR(/List) ,其中包含「/proc/mounts」中的資訊 |
擲回 | |
---|---|
DeviceNotAvailableException |
getPartitionFreeSpace
public abstract long getPartitionFreeSpace (String partition)
輔助方法,用於判斷裝置分區的可用空間大小。
參數 | |
---|---|
partition |
String |
傳回 | |
---|---|
long |
可用空間大小 (以 KB 為單位) |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
getProcessByName
public abstract ProcessInfo getProcessByName (String processName)
輔助方法會執行「pidof」和「stat」指令,並傳回 ProcessInfo
物件,其中包含 PID 和指定程序的程序開始時間。
參數 | |
---|---|
processName |
String :程序名稱字串。 |
傳回 | |
---|---|
ProcessInfo |
指定的 processName 的 ProcessInfo |
擲回 | |
---|---|
DeviceNotAvailableException |
getProcessPid
public abstract String getProcessPid (String process)
傳回服務的 pid,如果發生錯誤則傳回 null。
參數 | |
---|---|
process |
String :程序名稱字串。 |
傳回 | |
---|---|
String |
擲回 | |
---|---|
DeviceNotAvailableException |
getProductType
public abstract String getProductType ()
取得裝置產品類型的便利方法。
裝置處於 ADB 或 Fastboot 模式時,這個方法就會生效。
傳回 | |
---|---|
String |
String 產品類型名稱。不會為空值 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原,或是無法判斷產品類型 |
getProductVariant
public abstract String getProductVariant ()
取得此裝置產品子類的便利方法。
裝置處於 ADB 或 Fastboot 模式時,這個方法就會生效。
傳回 | |
---|---|
String |
String 產品子類名稱,如果無法判定,則為 null |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
getProperty
public abstract String getProperty (String name)
從裝置中擷取指定的屬性值。
參數 | |
---|---|
name |
String :屬性名稱 |
傳回 | |
---|---|
String |
屬性值,如果不存在則為 null |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getRecoveryMode
public abstract ITestDevice.RecoveryMode getRecoveryMode ()
取得裝置目前使用的復原模式。
傳回 | |
---|---|
ITestDevice.RecoveryMode |
裝置目前使用的復原模式。 |
getTombstones
public abstractgetTombstones ()
從裝置擷取並傳回墓碑清單。需要取得 root 權限。
方法是盡力而為,因此如果一個墓碑因任何原因無法拉取,就不會出現在清單中。只有 DeviceNotAvailableException
會提早終止方法。
傳回 | |
---|---|
|
墓碑檔案清單,如果沒有墓碑,則為空白。 |
擲回 | |
---|---|
DeviceNotAvailableException |
另請參閱:
getTotalMemory
public abstract long getTotalMemory ()
以位元組為單位傳回實體記憶體總大小,或在發生內部錯誤時傳回 -1
傳回 | |
---|---|
long |
getTrackingSerial
public String getTrackingSerial ()
為了裝置管理目的,請取得用於追蹤裝置的序號。
傳回 | |
---|---|
String |
getUseFastbootErase
public abstract boolean getUseFastbootErase ()
取得是否要使用 fastboot erase 或 fastboot format 來清除裝置上的分區。
傳回 | |
---|---|
boolean |
如果要使用 fastboot 擦除功能,請使用 true ;如果要使用 fastboot 格式功能,請使用 false 。 |
isAdbRoot
public abstract boolean isAdbRoot ()
傳回 | |
---|---|
boolean |
如果裝置目前已啟用 ADB 根目錄,則為 true ;否則為 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
isAdbTcp
public abstract boolean isAdbTcp ()
傳回 | |
---|---|
boolean |
true 如果裝置已連線至 adb-over-tcp,否則為 false 。 |
isAppEnumerationSupported
public abstract boolean isAppEnumerationSupported ()
檢查裝置上的平台是否支援應用程式列舉
傳回 | |
---|---|
boolean |
如果支援應用程式列舉,則傳回「是」;否則傳回「否」 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isBypassLowTargetSdkBlockSupported
public abstract boolean isBypassLowTargetSdkBlockSupported ()
檢查裝置平台是否支援在應用程式安裝時略過低目標 SDK 封鎖
傳回 | |
---|---|
boolean |
如果支援略過低目標 SDK 區塊,則傳回「是」,否則傳回「否」 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isDebugfsMounted
public abstract boolean isDebugfsMounted ()
檢查是否已掛載 debugfs。
傳回 | |
---|---|
boolean |
true (如果已掛載 debugfs) |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isDeviceEncrypted
public abstract boolean isDeviceEncrypted ()
傳回裝置是否受到加密保護。
傳回 | |
---|---|
boolean |
true (如果裝置已加密)。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
isDirectory
public abstract boolean isDirectory (String deviceFilePath)
如果裝置上的路徑是目錄,則傳回 True,否則傳回 false。
參數 | |
---|---|
deviceFilePath |
String |
傳回 | |
---|---|
boolean |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isEncryptionSupported
public abstract boolean isEncryptionSupported ()
傳回裝置是否支援加密功能。
傳回 | |
---|---|
boolean |
true (如果裝置支援加密功能)。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isExecutable
public abstract boolean isExecutable (String fullPath)
如果裝置上的檔案路徑是可執行檔案,則傳回「True」;否則傳回「false」。
參數 | |
---|---|
fullPath |
String |
傳回 | |
---|---|
boolean |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isHeadless
public abstract boolean isHeadless ()
如果裝置為無頭裝置 (沒有螢幕),則傳回 true,否則傳回 false。
傳回 | |
---|---|
boolean |
擲回 | |
---|---|
DeviceNotAvailableException |
isRuntimePermissionSupported
public abstract boolean isRuntimePermissionSupported ()
檢查裝置上的平台是否支援執行階段權限授予
傳回 | |
---|---|
boolean |
如果支援執行階段權限,則傳回「是」;否則傳回「否」。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isStateBootloaderOrFastbootd
public abstract boolean isStateBootloaderOrFastbootd ()
如果裝置處於 TestDeviceState.FASTBOOT
或 TestDeviceState.FASTBOOTD
,則傳回 true。
傳回 | |
---|---|
boolean |
logAnrs
public abstract boolean logAnrs (ITestLogger logger)
從裝置收集並記錄 ANR。
參數 | |
---|---|
logger |
ITestLogger :用於記錄 ANR 的 ITestLogger 。 |
傳回 | |
---|---|
boolean |
如果記錄成功,則傳回 True,否則傳回 false。 |
擲回 | |
---|---|
DeviceNotAvailableException |
logOnDevice
public abstract void logOnDevice (String tag, Log.LogLevel level, String format, Object... args)
在裝置的 logcat 中記錄訊息。這是安全的呼叫,即使記錄失敗也不會擲回。
參數 | |
---|---|
tag |
String :在 Logcat 中記錄訊息的標記。 |
level |
Log.LogLevel :logcat 中訊息的偵錯層級。 |
format |
String :訊息格式。 |
args |
Object :透過 String.format() 取代的位置。 |
mountDebugfs
public abstract void mountDebugfs ()
掛接 debugfs。
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
nonBlockingReboot
public abstract void nonBlockingReboot ()
發出指令重新啟動裝置,並在指令完成及裝置不再對 ADB 可見時傳回。
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
postBootSetup
public abstract void postBootSetup ()
執行操作說明,在每次啟動後設定裝置以進行測試。
應在裝置完全啟動/可用後呼叫
在一般情況下,您不需要明確呼叫這個方法,因為實作項目應在重新啟動時自動執行這些步驟。
當裝置因其他事件 (例如 fastboot 更新指令完成) 而重新啟動時,可能需要呼叫此方法。
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
postInvocationTearDown
public void postInvocationTearDown ()
This method is deprecated.
請改用 postInvocationTearDown(Throwable)
。
針對裝置特定的必要清理作業,在叫用完成後執行額外步驟。
postInvocationTearDown
public abstract void postInvocationTearDown (Throwable invocationException)
針對裝置特定的必要清理作業,在叫用完成後執行額外步驟。
參數 | |
---|---|
invocationException |
Throwable :如果有,則為叫用失敗所引發的最終例外狀況。 |
preInvocationSetup
public void preInvocationSetup (IBuildInfo info, MultiMap<String, String> attributes)
裝置專屬必要設定的額外步驟,會在叫用流程前在裝置上執行。
參數 | |
---|---|
info |
IBuildInfo :裝置的 IBuildInfo 。 |
attributes |
MultiMap :在叫用內容中儲存的屬性 |
擲回 | |
---|---|
|
com.android.tradefed.targetprep.TargetSetupError |
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
TargetSetupError |
pullDir
public abstract boolean pullDir (String deviceFilePath, File localDir)
遞迴式從裝置中提取目錄內容。
參數 | |
---|---|
deviceFilePath |
String :遠端來源的絕對檔案路徑 |
localDir |
File :要將檔案拉入的本機目錄 |
傳回 | |
---|---|
boolean |
true ,如果檔案已成功提取。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pullDir
public abstract boolean pullDir (String deviceFilePath, File localDir, int userId)
遞迴式從裝置中提取目錄內容。
參數 | |
---|---|
deviceFilePath |
String :遠端來源的絕對檔案路徑 |
localDir |
File :要將檔案拉入的本機目錄 |
userId |
int :要從中提取的使用者 ID |
傳回 | |
---|---|
boolean |
true ,如果檔案已成功提取。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pullFile
public abstract File pullFile (String remoteFilePath, int userId)
從裝置中擷取檔案,將檔案儲存在本機暫存的 ERROR(/File)
中,並傳回該 File
。
參數 | |
---|---|
remoteFilePath |
String :裝置上檔案的絕對路徑。 |
userId |
int :要從中提取的使用者 ID |
傳回 | |
---|---|
File |
包含裝置檔案內容的 ERROR(/File) ,或 null (如果因任何原因 (包括主機檔案系統發生問題) 而複製失敗) |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pullFile
public abstract File pullFile (String remoteFilePath)
從裝置中擷取檔案,將檔案儲存在本機暫存的 ERROR(/File)
中,並傳回該 File
。
參數 | |
---|---|
remoteFilePath |
String :裝置上檔案的絕對路徑。 |
傳回 | |
---|---|
File |
包含裝置檔案內容的 ERROR(/File) ,或 null (如果複製作業因任何原因失敗,包括主機系統檔案系統發生問題) |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pullFile
public abstract boolean pullFile (String remoteFilePath, File localFile)
從裝置中擷取檔案。
參數 | |
---|---|
remoteFilePath |
String :裝置上檔案的絕對路徑。 |
localFile |
File :要儲存內容的本機檔案。如果不為空白,內容會遭到取代。 |
傳回 | |
---|---|
boolean |
true :如果檔案已成功擷取。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pullFile
public abstract boolean pullFile (String remoteFilePath, File localFile, int userId)
從裝置中擷取檔案。
參數 | |
---|---|
remoteFilePath |
String :裝置上檔案的絕對路徑。 |
localFile |
File :要儲存內容的本機檔案。如果不為空白,內容會遭到取代。 |
userId |
int :要從中提取的使用者 ID |
傳回 | |
---|---|
boolean |
true :如果檔案已成功擷取。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pullFileContents
public abstract String pullFileContents (String remoteFilePath)
從裝置中擷取檔案,並傳回內容。
參數 | |
---|---|
remoteFilePath |
String :裝置上檔案的絕對路徑。 |
傳回 | |
---|---|
String |
包含裝置檔案內容的 String ,或 null (如果複製作業因任何原因失敗,包括主機系統檔案系統發生問題) |
擲回 | |
---|---|
DeviceNotAvailableException |
pullFileFromExternal
public abstract File pullFileFromExternal (String remoteFilePath)
方便方法,可從裝置的外部儲存空間擷取檔案,將檔案儲存在本機暫時 ERROR(/File)
中,並傳回該 File
的參照。
參數 | |
---|---|
remoteFilePath |
String :相對於裝置外部儲存裝置掛載點的裝置檔案路徑 |
傳回 | |
---|---|
File |
包含裝置檔案內容的 ERROR(/File) ,或 null (如果複製作業因任何原因失敗,包括主機系統檔案系統發生問題) |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pushDir
public abstract boolean pushDir (File localDir, String deviceFilePath, int userId)
遞迴地將目錄內容推送至裝置。
參數 | |
---|---|
localDir |
File :要推送的本機目錄 |
deviceFilePath |
String :遠端目的地的絕對檔案路徑 |
userId |
int :要推送的使用者 ID |
傳回 | |
---|---|
boolean |
true :如果檔案已成功推送。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pushDir
public abstract boolean pushDir (File localDir, String deviceFilePath,excludedDirectories)
遞迴將目錄內容推送至裝置,同時排除部分已篩選的目錄。
參數 | |
---|---|
localDir |
File :要推送的本機目錄 |
deviceFilePath |
String :遠端目的地的絕對檔案路徑 |
excludedDirectories |
:不應推送的排除目錄名稱集合。 |
傳回 | |
---|---|
boolean |
true :如果檔案已成功推送。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pushDir
public abstract boolean pushDir (File localDir, String deviceFilePath)
遞迴地將目錄內容推送至裝置。
參數 | |
---|---|
localDir |
File :要推送的本機目錄 |
deviceFilePath |
String :遠端目的地的絕對檔案路徑 |
傳回 | |
---|---|
boolean |
true :如果檔案已成功推送。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pushFile
public abstract boolean pushFile (File localFile, String deviceFilePath, boolean evaluateContentProviderNeeded)
pushFile(File, String)
的變化版本,可視需要評估內容供應者的需要。
參數 | |
---|---|
localFile |
File :要推送的本機檔案 |
deviceFilePath |
String :遠端目的地檔案的絕對路徑 |
evaluateContentProviderNeeded |
boolean :是否檢查是否需要內容供應器 |
傳回 | |
---|---|
boolean |
true :如果檔案已成功推送。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pushFile
public abstract boolean pushFile (File localFile, String deviceFilePath)
將檔案推送至裝置。預設使用內容供應器。
參數 | |
---|---|
localFile |
File :要推送的本機檔案 |
deviceFilePath |
String :遠端目的地檔案的絕對路徑 |
傳回 | |
---|---|
boolean |
true :如果檔案已成功推送。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pushFile
public abstract boolean pushFile (File localFile, String deviceFilePath, int userId)
將檔案推送至裝置。預設使用內容供應器。
參數 | |
---|---|
localFile |
File :要推送的本機檔案 |
deviceFilePath |
String :遠端目的地檔案的絕對路徑 |
userId |
int :要推送至的 userId |
傳回 | |
---|---|
boolean |
true :如果檔案已成功推送。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
pushString
public abstract boolean pushString (String contents, String deviceFilePath)
將從字串建立的檔案推送至裝置
參數 | |
---|---|
contents |
String :要推送的檔案內容 |
deviceFilePath |
String :遠端目的地檔案的絕對路徑 |
傳回 | |
---|---|
boolean |
true :如果字串已成功推送。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
重開。
public abstract void reboot ()
重新啟動裝置並進入 ADB 模式。
封鎖至裝置可供使用為止。
擲回 | |
---|---|
DeviceNotAvailableException |
如果裝置在重新啟動後無法使用 |
重開。
public abstract void reboot (String reason)
將裝置重新啟動至 ADB 模式,並使用指定的 reason
在重新啟動時保留。
封鎖,直到裝置可供使用為止。
您可以查詢 sys.boot.reason
屬性,取得上次重新啟動的原因。
參數 | |
---|---|
reason |
String :重新啟動的原因,如果未指定原因,則為 null 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果裝置在重新啟動後無法使用 |
rebootIntoBootloader
public abstract void rebootIntoBootloader ()
重新啟動裝置並進入系統啟動載入程式模式。
阻斷裝置,直到裝置進入系統啟動載入程式模式。
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
rebootIntoFastbootd
public abstract void rebootIntoFastbootd ()
將裝置重新啟動至快速系統啟動模式。
直到裝置進入快速系統啟動模式為止。
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
rebootIntoRecovery
public abstract void rebootIntoRecovery ()
重新啟動裝置,進入 ADB 復原模式。
阻斷裝置進入復原模式
擲回 | |
---|---|
DeviceNotAvailableException |
如果裝置在重新啟動後無法使用 |
rebootIntoSideload
public abstract void rebootIntoSideload (boolean autoReboot)
將裝置重新啟動至 ADB 側載模式 (請注意,這是復原模式下的特殊模式)
阻斷裝置進入側載模式
參數 | |
---|---|
autoReboot |
boolean :側載後是否自動重新啟動裝置 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果裝置在重新啟動後未處於側載狀態 |
rebootIntoSideload
public abstract void rebootIntoSideload ()
將裝置重新啟動至 ADB 側載模式 (請注意,這是復原模式下的特殊模式)
阻斷裝置進入側載模式
擲回 | |
---|---|
DeviceNotAvailableException |
如果裝置在重新啟動後未處於側載狀態 |
rebootUntilOnline
public abstract void rebootUntilOnline ()
reboot()
的替代方案,只會在裝置連上網路 (即可供 ADB 查看) 時阻斷。
擲回 | |
---|---|
DeviceNotAvailableException |
如果裝置在重新啟動後無法使用 |
rebootUntilOnline
public abstract void rebootUntilOnline (String reason)
reboot()
的替代方案,只會在裝置連上網路 (即可供 ADB 查看) 時阻斷。
參數 | |
---|---|
reason |
String :重新啟動的原因,如果未指定原因,則為 null 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果裝置在重新啟動後無法使用 |
另請參閱:
rebootUserspace
public abstract void rebootUserspace ()
僅重新啟動裝置的使用者空間部分。
封鎖,直到裝置可供使用為止。
警告!使用者空間重新啟動功能目前仍在積極開發中,請自行承擔使用風險。
擲回 | |
---|---|
DeviceNotAvailableException |
如果裝置在重新啟動後無法使用 |
rebootUserspaceUntilOnline
public abstract void rebootUserspaceUntilOnline ()
rebootUserspace()
()} 的替代方案,只會在裝置上線 (即可供 ADB 查看) 時阻斷。
擲回 | |
---|---|
DeviceNotAvailableException |
如果裝置在重新啟動後無法使用 |
remountSystemReadOnly
public abstract void remountSystemReadOnly ()
將裝置上的系統分區設為唯讀。可能會重新啟動裝置。
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
remountSystemWritable
public abstract void remountSystemWritable ()
讓裝置上的系統分區可寫入。可能會重新啟動裝置。
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
remountVendorReadOnly
public abstract void remountVendorReadOnly ()
將裝置上的供應商分區設為唯讀。可能會重新啟動裝置。
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
remountVendorWritable
public abstract void remountVendorWritable ()
讓裝置上的供應商分區可供寫入。可能會重新啟動裝置。
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
runInstrumentationTests
public abstract boolean runInstrumentationTests (IRemoteAndroidTestRunner runner, ITestLifeCycleReceiver... listeners)
方便方法,可使用一或多個以參數傳遞的事件監聽器執行 ERROR(/#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection))
。
參數 | |
---|---|
runner |
IRemoteAndroidTestRunner :執行測試的 IRemoteAndroidTestRunner |
listeners |
ITestLifeCycleReceiver :測試結果事件監聽器 |
傳回 | |
---|---|
boolean |
true ,表示測試指令已完成。false :如果無法完成,但復原作業成功 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原,例如測試指令無法完成且復原失敗。 |
runInstrumentationTests
public abstract boolean runInstrumentationTests (IRemoteAndroidTestRunner runner,listeners)
執行檢測設備測試,並提供裝置復原功能。
如果在測試執行完成前與裝置的連線中斷,且復原作業成功,則所有事件監聽器都會收到 testRunFailed 通知,並傳回「false」。系統不會重新執行測試指令。如有必要,呼叫端可重試。
如果在測試執行完成前與裝置的連線中斷,且復原作業失敗,則系統會通知所有監聽器,並擲回 testRunFailed 和 DeviceNotAvailableException。
參數 | |
---|---|
runner |
IRemoteAndroidTestRunner :執行測試的 IRemoteAndroidTestRunner |
listeners |
:測試結果事件監聽器 |
傳回 | |
---|---|
boolean |
true ,表示測試指令已完成。false :如果因裝置通訊例外狀況而無法完成,但復原作業成功 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原,例如測試指令無法完成且復原失敗。 |
runInstrumentationTestsAsUser
public abstract boolean runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, int userId,listeners)
參數 | |
---|---|
runner |
IRemoteAndroidTestRunner |
userId |
int |
listeners |
|
傳回 | |
---|---|
boolean |
擲回 | |
---|---|
DeviceNotAvailableException |
runInstrumentationTestsAsUser
public abstract boolean runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, int userId, ITestLifeCycleReceiver... listeners)
與 ITestDevice.runInstrumentationTests(IRemoteAndroidTestRunner,
ITestLifeCycleReceiver...)
相同,但會為特定使用者執行測試。
參數 | |
---|---|
runner |
IRemoteAndroidTestRunner |
userId |
int |
listeners |
ITestLifeCycleReceiver |
傳回 | |
---|---|
boolean |
擲回 | |
---|---|
DeviceNotAvailableException |
setDate
public abstract void setDate (Date date)
設定裝置上的日期
注意:在裝置上設定日期需要取得 root 權限
參數 | |
---|---|
date |
Date :指定特定日期;如果 null ,則會使用主機日期 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
setOptions
public abstract void setOptions (TestDeviceOptions options)
為裝置設定 TestDeviceOptions
參數 | |
---|---|
options |
TestDeviceOptions |
setProperty
public abstract boolean setProperty (String propKey, String propValue)
在裝置上設定指定的屬性值。需要 adb root 為 true。
參數 | |
---|---|
propKey |
String :要設定的目標鍵。 |
propValue |
String :要設定的屬性值。 |
傳回 | |
---|---|
boolean |
如果 setprop 指令成功,則會傳回 True ,否則傳回 False。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
setRecovery
public abstract void setRecovery (IDeviceRecovery recovery)
設定要用於這部裝置的 IDeviceRecovery
。應在裝置首次分配時設定。
參數 | |
---|---|
recovery |
IDeviceRecovery :IDeviceRecovery |
setRecoveryMode
public abstract void setRecoveryMode (ITestDevice.RecoveryMode mode)
設定裝置目前要使用的復原模式。
用於控制在發生裝置通訊問題時,要使用的復原方法。建議您只在必要時才使用此方法 (例如架構關閉時)。
參數 | |
---|---|
mode |
ITestDevice.RecoveryMode :是否應開啟「recover till online only」模式。 |
setTrackingSerial
public abstract void setTrackingSerial (String trackingSerial)
為了管理裝置,請追蹤我們用於參照裝置的序號。
參數 | |
---|---|
trackingSerial |
String |
setUseFastbootErase
public abstract void setUseFastbootErase (boolean useFastbootErase)
設定是否要使用 fastboot erase 或 fastboot format 來清除裝置上的分區。
參數 | |
---|---|
useFastbootErase |
boolean :如果應使用 fastboot 擦除功能,請使用 true ;如果應使用 fastboot 格式功能,請使用 false 。 |
startLogcat
public abstract void startLogcat ()
開始在背景擷取裝置的 Logcat 輸出內容。
如果系統已擷取 Logcat 輸出內容,這個指令就不會產生任何影響。您之後可以透過 getLogcat 擷取資料。
當裝置不再使用時,必須呼叫 stopLogcat()
。
在 TF 叫用內容中,通常不需要呼叫 startLogcat()
和 stopLogcat()
,因為 TF 架構會啟動及停止 logcat。
stopEmulatorOutput
public abstract void stopEmulatorOutput ()
關閉並刪除模擬器輸出內容。
stopLogcat
public abstract void stopLogcat ()
停止擷取裝置的 Logcat 輸出內容,並捨棄目前儲存的 Logcat 資料。
如果未擷取 Logcat 輸出內容,這個選項就不會生效。
switchToAdbTcp
public abstract String switchToAdbTcp ()
將裝置切換至 ADB-over-TCP 模式。
傳回 | |
---|---|
String |
裝置無法切換時,請提供 TCP 序號或 null |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
switchToAdbUsb
public abstract boolean switchToAdbUsb ()
將裝置切換至透過 USB 的 ADB 模式。
傳回 | |
---|---|
boolean |
如果切換成功,則為 true ,否則為 false 。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
syncFiles
public abstract boolean syncFiles (File localFileDir, String deviceFilePath)
將本機檔案目錄的內容以遞增方式同步至裝置。
比較本機檔案和遠端檔案的時間戳記,決定要推送哪些檔案。系統只會將「較新的」或不存在的檔案推送至裝置。因此,如果裝置上的檔案集已更新,則額外負擔應相對較小。
系統會忽略隱藏的檔案 (名稱開頭為「.」)。
使用方式範例:syncFiles("/tmp/files", "/sdcard") 會在 /sdcard/files 目錄不存在時建立該目錄,並遞迴將 /tmp/files 內容推送至 /sdcard/files。
參數 | |
---|---|
localFileDir |
File :本機檔案目錄,其中包含要遞迴推送的檔案。 |
deviceFilePath |
String :遠端目的地檔案的絕對路徑根目錄。這些檔案路徑中的所有目錄都必須可讀。舉例來說,如果 ADB 不是根目錄,則推送至 /data/local/tmp 會失敗 |
傳回 | |
---|---|
boolean |
true ,如果檔案已成功同步處理。否則傳回 false 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
unlockDevice
public abstract boolean unlockDevice ()
如果裝置處於加密狀態,則解鎖裝置。
這個方法可能會重新啟動架構,但不會呼叫postBootSetup()
。因此,在這個方法傳回時,裝置可能尚未完全就緒,無法進行測試。
傳回 | |
---|---|
boolean |
true (如果成功或裝置未加密)。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
UnsupportedOperationException |
裝置不支援加密功能。 |
unmountDebugfs
public abstract void unmountDebugfs ()
卸載 debugfs。
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
waitForBootComplete
public abstract boolean waitForBootComplete (long timeOut)
阻斷,直到裝置的啟動完成標記設定為止。
參數 | |
---|---|
timeOut |
long :等待標記設定的時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
如果裝置的啟動完成標記在逾時前設定,則為 true |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
waitForDeviceAvailable
public abstract boolean waitForDeviceAvailable ()
等待裝置回應並可供測試。使用預設逾時時間。
傳回 | |
---|---|
boolean |
如果裝置可用,則為 True;如果復原功能已停用且無法使用,則為 False。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
waitForDeviceAvailable
public abstract boolean waitForDeviceAvailable (long waitTime)
等待裝置回應並可供測試。
參數 | |
---|---|
waitTime |
long :等待時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
如果裝置可用,則為 True;如果復原功能已停用且無法使用,則為 False。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果裝置在 waitTime 到期後仍沒有回應。 |
waitForDeviceAvailableInRecoverPath
public abstract boolean waitForDeviceAvailableInRecoverPath (long waitTime)
等待裝置回應並可使用,但不考慮復原路徑。
參數 | |
---|---|
waitTime |
long |
傳回 | |
---|---|
boolean |
如果裝置可用,則傳回「是」;如果裝置無法使用,則傳回「否」。 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
waitForDeviceBootloader
public abstract void waitForDeviceBootloader ()
直到裝置可透過 fastboot 顯示為止。使用預設逾時時間。
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
waitForDeviceInRecovery
public abstract boolean waitForDeviceInRecovery (long waitTime)
裝置必須處於「adb recovery」狀態才能執行的區塊 (請注意,這與 IDeviceRecovery
不同)。
參數 | |
---|---|
waitTime |
long :等待時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
true 如果裝置在時間到期前啟動至復原模式。其他情況則為 false |
waitForDeviceInSideload
public abstract boolean waitForDeviceInSideload (long waitTime)
裝置必須處於「adb sideload」狀態
參數 | |
---|---|
waitTime |
long :等待時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
true 如果裝置在時間到期前啟動側載。其他情況則為 false
|
waitForDeviceNotAvailable
public abstract boolean waitForDeviceNotAvailable (long waitTime)
無法使用的裝置區塊,例如 ADB 中缺少的區塊
參數 | |
---|---|
waitTime |
long :等待時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
true 如果裝置在時間到期前無法使用。
其他情況則為 false |
waitForDeviceOnline
public abstract void waitForDeviceOnline ()
直到透過 ADB 可見裝置為止。使用預設逾時時間
請注意,裝置可能不會在完成後回應指令。請改用 waitForDeviceAvailable()
。
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
waitForDeviceOnline
public abstract void waitForDeviceOnline (long waitTime)
直到裝置可透過 ADB 查看為止。
請注意,裝置可能不會在完成後回應指令。請改用 waitForDeviceAvailable()
。
參數 | |
---|---|
waitTime |
long :等待時間 (以毫秒為單位) |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與裝置的連線中斷且無法復原。 |
waitForDeviceShell
public abstract boolean waitForDeviceShell (long waitTime)
等待裝置回應基本 ADB 殼層指令。
參數 | |
---|---|
waitTime |
long :等待時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
如果裝置在 waitTime 到期前開始回應,則為 true 。 |