ITestDevice
  public
  
  
  
  interface
  ITestDevice
  
  
      implements
      
        INativeDevice
      
  
  
| com.android.tradefed.device.ITestDevice | 
為 ddmlib IDevice 提供可靠且稍微高階的 API。
針對裝置指令重試可設定次數,並為無法回應的裝置提供裝置復原介面。
摘要
巢狀類別 | |
|---|---|
        
        
        
        
        class | 
      
        ITestDevice.ApexInfo
        簡單的結構體類別,用於儲存單一 APEX 的相關資訊  | 
    
        
        
        
        
        class | 
      
        ITestDevice.MountPointInfo
        簡單的結構體類別,用於儲存單一掛載點的資訊  | 
    
公用方法 | |
|---|---|
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      canSwitchToHeadlessSystemUser()
      
      
        傳回是否允許切換至無介面系統使用者。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      checkConnectivity()
      
      
        確認裝置已連上網路。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      clearErrorDialogs()
      
      
        嘗試關閉目前在裝置 UI 上顯示的任何錯誤對話方塊。  | 
  
        abstract
        
        
        
        
        void
     | 
  
    
      
      clearLastConnectedWifiNetwork()
      
      
        清除上次連線的 Wi-Fi 網路。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      connectToWifiNetwork(
      
        連線至 Wi-Fi 網路。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      connectToWifiNetwork(
      
        連線至 Wi-Fi 網路。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      connectToWifiNetwork(String wifiSsid, String wifiPsk)
      
      
        連線至 Wi-Fi 網路。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      connectToWifiNetwork(String wifiSsid, String wifiPsk, boolean scanSsid)
      
      
        連線至 Wi-Fi 網路。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      connectToWifiNetworkIfNeeded(String wifiSsid, String wifiPsk, boolean scanSsid)
      
      
        
  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      connectToWifiNetworkIfNeeded(String wifiSsid, String wifiPsk)
      
      
        
  | 
  
        abstract
        
        
        
        
        int
     | 
  
    
      
      createUser(String name)
      
      
        使用指定名稱和預設標記 0 建立使用者。  | 
  
        abstract
        
        
        
        
        int
     | 
  
    
      
      createUser(String name, boolean guest, boolean ephemeral)
      
      
        使用指定名稱和提供的標記建立使用者  | 
  
        abstract
        
        
        
        
        int
     | 
  
    
      
      createUser(String name, boolean guest, boolean ephemeral, boolean forTesting)
      
      
        使用指定名稱和提供的標記建立使用者  | 
  
        abstract
        
        
        
        
        int
     | 
  
    
      
      createUserNoThrow(String name)
      
      
        使用指定名稱和預設標記 0 建立使用者。  | 
  
        abstract
        
        
        
        
        void
     | 
  
    
      
      deregisterDeviceActionReceiver(IDeviceActionReceiver deviceActionReceiver)
      
      
        移除已註冊的   | 
  
        abstract
        
        
        
        
        void
     | 
  
    
      
      disableKeyguard()
      
      
        嘗試停用鎖定畫面。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      disableNetworkMonitor()
      
      
        停用裝置上的網路監控功能。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      disconnectFromWifi()
      
      
        中斷 Wi-Fi 網路連線。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      doesFileExist(String deviceFilePath, int userId)
      
      
        輔助方法,用於判斷裝置上是否有特定使用者的檔案。  | 
  
        abstract
        
        
        
        
        File
     | 
  
    
      
      dumpHeap(String process, String devicePath)
      
      
        嘗試從 system_server 傾印堆積。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      enableNetworkMonitor()
      
      
        啟用裝置上的網路監控功能。  | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      getActiveApexes()
      
      
        擷取裝置上已啟用的 APEX 相關資訊。  | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      getAllSettings(String namespace)
      
      
        傳回要求命名空間的鍵/值組合。  | 
  
        abstract
        
        
        
        
        String
     | 
  
    
      
      getAndroidId(int userId)
      
      
        尋找並傳回與 userId 相關聯的 android-id,如果找不到則傳回 null。  | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      getAndroidIds()
      
      
        建立地圖,找出與使用者 ID 相符的 Android ID。  | 
  
        abstract
        
        
        
        
        PackageInfo
     | 
  
    
      
      getAppPackageInfo(String packageName)
      
      
        擷取裝置上已安裝套件的相關資訊。  | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      getAppPackageInfos()
      
      
        擷取裝置上已安裝套件的相關資訊。  | 
  
        abstract
        
        
        
        
        InputStreamSource
     | 
  
    
      
      getBugreport()
      
      
        從裝置擷取錯誤報告。  | 
  
        abstract
        
        
        
        
        InputStreamSource
     | 
  
    
      
      getBugreportz()
      
      
        從裝置擷取 bugreportz。  | 
  
        abstract
        
        
        
        
        DeviceFoldableState
     | 
  
    
      
      getCurrentFoldableState()
      
      
        傳回裝置目前的折疊狀態,如果發生問題,則傳回 null。  | 
  
        abstract
        
        
        
        
        int
     | 
  
    
      
      getCurrentUser()
      
      
        傳回目前執行中的使用者 ID。  | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      getFoldableStates()
      
      
        傳回裝置上的摺疊式狀態清單。  | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      getInstalledPackageNames()
      
      
        擷取裝置上的應用程式套件名稱。  | 
  
        abstract
        
        
        
        
        String
     | 
  
    
      
      getIpAddress()
      
      
        取得裝置的 IP 位址。  | 
  
        abstract
        
        
        
        
        KeyguardControllerState
     | 
  
    
      
      getKeyguardState()
      
      
        傳回物件,以取得 Keyguard 的目前狀態;如果不支援,則傳回空值。  | 
  
        abstract
        
        
        
        
        Integer
     | 
  
    
      
      getMainUserId()
      
      
        傳回主要使用者 ID。  | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      getMainlineModuleInfo()
      
      
        取得裝置上已安裝的主線程模組相關資訊。  | 
  
        abstract
        
        
        
        
        int
     | 
  
    
      
      getMaxNumberOfRunningUsersSupported()
      
      
        取得支援的同時執行使用者人數上限。  | 
  
        abstract
        
        
        
        
        int
     | 
  
    
      
      getMaxNumberOfUsersSupported()
      
      
        取得支援的使用者人數上限。  | 
  
        abstract
        
        
        
        
        TestDeviceOptions
     | 
  
    
      
      getOptions()
      
      
        擷取裝置的測試選項。  | 
  
        abstract
        
        
        
        
        Integer
     | 
  
    
      
      getPrimaryUserId()
      
      
        
      這個方法已淘汰。
    getPrimaryUser 已從 UserManager 服務停用,請使用   | 
  
        abstract
        
        
        
        
        InputStreamSource
     | 
  
    
      
      getScreenshot(String format, boolean rescale)
      
      
        擷取裝置的螢幕截圖。  | 
  
        abstract
        
        
        
        
        InputStreamSource
     | 
  
    
      
      getScreenshot(long displayId)
      
      
        從裝置的指定顯示 ID 擷取螢幕截圖。  | 
  
        abstract
        
        
        
        
        InputStreamSource
     | 
  
    
      
      getScreenshot(String format)
      
      
        擷取裝置的螢幕截圖。  | 
  
        abstract
        
        
        
        
        InputStreamSource
     | 
  
    
      
      getScreenshot()
      
      
        擷取裝置的螢幕截圖。  | 
  
        abstract
        
        
        
        
        String
     | 
  
    
      
      getSetting(int userId, String namespace, String key)
      
      
        傳回所要求設定的值。  | 
  
        abstract
        
        
        
        
        String
     | 
  
    
      
      getSetting(String namespace, String key)
      
      
        請參閱   | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      getUninstallablePackageNames()
      
      
        擷取可解除安裝的應用程式套件名稱。  | 
  
        abstract
        
        
        
        
        int
     | 
  
    
      
      getUserFlags(int userId)
      
      
        尋找並傳回特定使用者的標記。  | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      getUserInfos()
      
      
        取得裝置上 useId 到   | 
  
        abstract
        
        
        
        
        int
     | 
  
    
      
      getUserSerialNumber(int userId)
      
      
        如果找到,則傳回與 userId 相關聯的序號,否則傳回 -10000。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      hasFeature(String feature)
      
      
        檢查裝置是否支援某項功能。  | 
  
        abstract
        
        
        
        
        String
     | 
  
    
      
      installPackage(File packageFile, boolean reinstall, String... extraArgs)
      
      
        在裝置上安裝 Android 套件。  | 
  
        abstract
        
        
        
        
        String
     | 
  
    
      
      installPackage(File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)
      
      
        在裝置上安裝 Android 套件。  | 
  
        abstract
        
        
        
        
        String
     | 
  
    
      
      installPackageForUser(File packageFile, boolean reinstall, int userId, String... extraArgs)
      
      
        為特定使用者在裝置上安裝 Android 套件。  | 
  
        abstract
        
        
        
        
        String
     | 
  
    
      
      installPackageForUser(File packageFile, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)
      
      
        為特定使用者在裝置上安裝 Android 套件。  | 
  
        
        default
        
        
        
        String
     | 
  
    
      
      installPackages(
      
        安裝由多個 APK 檔案 (一個主要檔案和額外分割套件) 組成的 Android 應用程式。  | 
  
        
        default
        
        
        
        String
     | 
  
    
      
      installPackages(
      
        安裝由多個 APK 檔案 (一個主要和額外分割套件) 組成的 Android 應用程式,這些檔案位於 Android 裝置上。  | 
  
        
        default
        
        
        
        String
     | 
  
    
      
      installPackagesForUser(
      
        為特定使用者安裝由多個 APK 檔案 (一個主要和額外分割套件) 組成的 Android 應用程式。  | 
  
        
        default
        
        
        
        String
     | 
  
    
      
      installPackagesForUser(
      
        為特定使用者安裝由多個 APK 檔案 (一個主要和額外分割套件) 組成的 Android 應用程式。  | 
  
        
        default
        
        
        
        String
     | 
  
    
      
      installRemotePackages(
      
        安裝由多個 APK 檔案 (一個主要和額外分割套件) 組成的 Android 應用程式,這些檔案位於 Android 裝置上。  | 
  
        
        default
        
        
        
        String
     | 
  
    
      
      installRemotePackages(
      
        安裝由多個 APK 檔案 (一個主要和額外分割套件) 組成的 Android 應用程式,這些檔案位於 Android 裝置上。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isHeadlessSystemUserMode()
      
      
        傳回裝置是否使用無頭系統使用者模式。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isMainUserPermanentAdmin()
      
      
        傳回主使用者是否為永久管理員,且無法刪除或降級為非管理員狀態。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isMultiUserSupported()
      
      
        判斷是否支援多位使用者。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isPackageInstalled(String packageName, String userId)
      
      
        針對裝置查詢指定的套件名稱和使用者 ID,檢查該使用者目前是否已安裝該套件。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isPackageInstalled(String packageName)
      
      
        針對裝置中的特定套件名稱執行查詢,確認該套件目前是否已安裝。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isUserRunning(int userId)
      
      
        檢查特定使用者是否正在執行。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isUserSecondary(int userId)
      
      
        根據指定使用者的標記,傳回該使用者是否為次要使用者。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isUserVisible(int userId)
      
      
        檢查指定使用者是否可見。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isUserVisibleOnDisplay(int userId, int displayId)
      
      
        檢查指定使用者是否在指定顯示畫面中顯示。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isVisibleBackgroundUsersOnDefaultDisplaySupported()
      
      
        傳回裝置是否允許使用者在   | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isVisibleBackgroundUsersSupported()
      
      
        傳回裝置是否允許使用者在背景啟動。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      isWifiEnabled()
      
      
        測試是否已啟用 Wi-Fi。  | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      listDisplayIds()
      
      
        收集裝置上可用顯示器 ID 的清單,並由「dumpsys SurfaceFlinger」回報。  | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      listDisplayIdsForStartingVisibleBackgroundUsers()
      
      
        取得可用於   | 
  
        abstract
        
        
        
        
        
     | 
  
    
      
      listUsers()
      
      
        取得裝置上的使用者清單。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      logBugreport(String dataName, ITestLogger listener)
      
      
        輔助方法,可取得錯誤報告並記錄至記錄器。  | 
  
        
        default
        
        
        
        void
     | 
  
    
      
      notifySnapuserd(SnapuserdWaitPhase waitPhase)
      
      
        通知裝置等待 snapuserd 完成。  | 
  
        abstract
        
        
        
        
        void
     | 
  
    
      
      registerDeviceActionReceiver(IDeviceActionReceiver deviceActionReceiver)
      
      
        為這部裝置註冊   | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      removeAdmin(String componentName, int userId)
      
      
        從指定使用者移除指定裝置管理員,如果成功,則傳回   | 
  
        abstract
        
        
        
        
        void
     | 
  
    
      
      removeOwners()
      
      
        盡力移除所有現有的裝置設定檔擁有者。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      removeUser(int userId)
      
      
        從裝置中移除特定使用者。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      setDeviceOwner(String componentName, int userId)
      
      
        將裝置管理員元件設為特定使用者的裝置擁有者。  | 
  
        abstract
        
        
        
        
        void
     | 
  
    
      
      setSetting(String namespace, String key, String value)
      
      
        請參閱   | 
  
        abstract
        
        
        
        
        void
     | 
  
    
      
      setSetting(int userId, String namespace, String key, String value)
      
      
        將設定值新增至特定使用者的命名空間。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      startUser(int userId)
      
      
        如果使用者目前已停止,則在背景啟動該使用者。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      startUser(int userId, boolean waitFlag)
      
      
        如果使用者目前已停止,則在背景啟動該使用者。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      startVisibleBackgroundUser(int userId, int displayId, boolean waitFlag)
      
      
        在背景啟動特定使用者,並在指定螢幕上顯示 (也就是允許使用者在該螢幕上啟動活動)。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      stopUser(int userId)
      
      
        停止特定使用者。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      stopUser(int userId, boolean waitFlag, boolean forceFlag)
      
      
        停止特定使用者。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      switchUser(int userId)
      
      
        切換至另一個使用者 ID,並設定預設逾時時間。  | 
  
        abstract
        
        
        
        
        boolean
     | 
  
    
      
      switchUser(int userId, long timeout)
      
      
        以提供的逾時期限做為期限,切換至其他使用者 ID。  | 
  
        abstract
        
        
        
        
        Bugreport
     | 
  
    
      
      takeBugreport()
      
      
        取得 bugreport,並在   | 
  
        abstract
        
        
        
        
        String
     | 
  
    
      
      uninstallPackage(String packageName)
      
      
        從裝置解除安裝 Android 套件。  | 
  
        abstract
        
        
        
        
        String
     | 
  
    
      
      uninstallPackageForUser(String packageName, int userId)
      
      
        為特定使用者從裝置上解除安裝 Android 套件。  | 
  
        
        default
        
        
        
        void
     | 
  
    
      
      waitForSnapuserd(SnapuserdWaitPhase currentPhase)
      
      
        如果預期如此,請等待 snapuserd 完成。  | 
  
公用方法
canSwitchToHeadlessSystemUser
public abstract boolean canSwitchToHeadlessSystemUser ()
會傳回是否允許切換至無介面系統使用者。
| 傳回 | |
|---|---|
boolean | 
        |
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          |
checkConnectivity
public abstract boolean checkConnectivity ()
確認裝置已連上網路。
| 傳回 | |
|---|---|
boolean | 
        true 如果裝置有可用的網路連線,false否則。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
clearErrorDialogs
public abstract boolean clearErrorDialogs ()
嘗試關閉目前在裝置 UI 上顯示的任何錯誤對話方塊。
| 傳回 | |
|---|---|
boolean | 
        true,如果沒有對話方塊或已成功清除對話方塊。否則傳回 false。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
clearLastConnectedWifiNetwork
public abstract void clearLastConnectedWifiNetwork ()
清除上次連線的 Wi-Fi 網路。應在啟動新的叫用時呼叫此方法,以免在裝置重新啟動後連線至先前測試中使用的 Wi-Fi 網路。
connectToWifiNetwork
public abstract boolean connectToWifiNetwork (wifiSsidToPsk) 
連線至 Wi-Fi 網路。
開啟 Wi-Fi 並封鎖,直到與 wifiSsidToPsk 地圖中提供的其中一個 Wi-Fi 網路成功連線為止。連線完成後,執行個體會在每次重新啟動後嘗試還原連線,直到呼叫 ITestDevice.disconnectFromWifi() 或 ITestDevice.clearLastConnectedWifiNetwork() 為止。
| 參數 | |
|---|---|
wifiSsidToPsk | 
        
          :Wi-Fi SSID 與密碼的對應表。 | 
      
| 傳回 | |
|---|---|
boolean | 
        true 已成功連上 Wi-Fi 網路。false
     otherwise | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
connectToWifiNetwork
public abstract boolean connectToWifiNetwork (wifiSsidToPsk, boolean scanSsid) 
連線至 Wi-Fi 網路。
開啟 Wi-Fi 並封鎖,直到與 wifiSsidToPsk 地圖中提供的其中一個 Wi-Fi 網路成功連線為止。連線完成後,執行個體會在每次重新啟動後嘗試還原連線,直到呼叫 ITestDevice.disconnectFromWifi() 或 ITestDevice.clearLastConnectedWifiNetwork() 為止。
| 參數 | |
|---|---|
wifiSsidToPsk | 
        
          :Wi-Fi SSID 與密碼的對應表。 | 
      
scanSsid | 
        
          boolean:是否掃描此網路的隱藏 SSID。 | 
      
| 傳回 | |
|---|---|
boolean | 
        true 已成功連上 Wi-Fi 網路。false
     otherwise | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
connectToWifiNetwork
public abstract boolean connectToWifiNetwork (String wifiSsid, 
                String wifiPsk)連線至 Wi-Fi 網路。
 開啟 Wi-Fi 並封鎖,直到成功連上指定的 Wi-Fi 網路為止。連線完成後,執行個體會在每次重新啟動後嘗試還原連線,直到呼叫 ITestDevice.disconnectFromWifi() 或 ITestDevice.clearLastConnectedWifiNetwork() 為止。
| 參數 | |
|---|---|
wifiSsid | 
        
          String:要連線的 Wi-Fi SSID | 
      
wifiPsk | 
        
          String:PSK 密碼金鑰,如果未加密則為空值 | 
      
| 傳回 | |
|---|---|
boolean | 
        true 已成功連上 Wi-Fi 網路。false
         otherwise | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
connectToWifiNetwork
public abstract boolean connectToWifiNetwork (String wifiSsid, 
                String wifiPsk, 
                boolean scanSsid)連線至 Wi-Fi 網路。
 開啟 Wi-Fi 並封鎖,直到成功連上指定的 Wi-Fi 網路為止。連線完成後,執行個體會在每次重新啟動後嘗試還原連線,直到呼叫 ITestDevice.disconnectFromWifi() 或 ITestDevice.clearLastConnectedWifiNetwork() 為止。
| 參數 | |
|---|---|
wifiSsid | 
        
          String:要連線的 Wi-Fi SSID | 
      
wifiPsk | 
        
          String:PSK 密碼金鑰,如果未加密則為空值 | 
      
scanSsid | 
        
          boolean:是否掃描此網路的隱藏 SSID。 | 
      
| 傳回 | |
|---|---|
boolean | 
        true 已成功連上 Wi-Fi 網路。false
         otherwise | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
connectToWifiNetworkIfNeeded
public abstract boolean connectToWifiNetworkIfNeeded (String wifiSsid, 
                String wifiPsk, 
                boolean scanSsid)connectToWifiNetwork(String, String) 的變化版本,只會在裝置目前沒有網路連線時連線。
| 參數 | |
|---|---|
scanSsid | 
        
          boolean:是否掃描此網路的隱藏 SSID | 
      
| 傳回 | |
|---|---|
boolean | 
        true 已成功連上 Wi-Fi 網路。false
         otherwise | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
connectToWifiNetworkIfNeeded
public abstract boolean connectToWifiNetworkIfNeeded (String wifiSsid, 
                String wifiPsk)connectToWifiNetwork(String, String) 的變化版本,只會在裝置目前沒有網路連線時連線。
| 傳回 | |
|---|---|
boolean | 
        true 已成功連上 Wi-Fi 網路。false
         otherwise | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
createUser
public abstract int createUser (String name)
建立使用者,使用指定名稱和預設標記 0。
| 參數 | |
|---|---|
name | 
        
          String:在裝置上建立的使用者 | 
      
| 傳回 | |
|---|---|
int | 
        建立的使用者 ID 整數 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
createUser
public abstract int createUser (String name, 
                boolean guest, 
                boolean ephemeral)使用指定名稱和提供的旗標建立使用者
| 參數 | |
|---|---|
name | 
        
          String:在裝置上建立的使用者 | 
      
guest | 
        
          boolean:在建立時啟用使用者標記 --guest | 
      
ephemeral | 
        
          boolean:在建立時啟用使用者標記 --ephemeral | 
      
| 傳回 | |
|---|---|
int | 
        已建立使用者的 ID | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
createUser
public abstract int createUser (String name, 
                boolean guest, 
                boolean ephemeral, 
                boolean forTesting)使用指定名稱和提供的旗標建立使用者
| 參數 | |
|---|---|
name | 
        
          String:在裝置上建立的使用者 | 
      
guest | 
        
          boolean:在建立時啟用使用者標記 --guest | 
      
ephemeral | 
        
          boolean:在建立時啟用使用者標記 --ephemeral | 
      
forTesting | 
        
          boolean:在建立期間啟用測試標記 --for-testing | 
      
| 傳回 | |
|---|---|
int | 
        已建立使用者的 ID | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
createUserNoThrow
public abstract int createUserNoThrow (String name)
建立使用者,使用指定名稱和預設標記 0。
| 參數 | |
|---|---|
name | 
        
          String:在裝置上建立的使用者 | 
      
| 傳回 | |
|---|---|
int | 
        建立的使用者 ID 整數,或 -1 代表錯誤。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
deregisterDeviceActionReceiver
public abstract void deregisterDeviceActionReceiver (IDeviceActionReceiver deviceActionReceiver)
移除已註冊的 IDeviceActionReceiver。
| 參數 | |
|---|---|
deviceActionReceiver | 
        
          IDeviceActionReceiver:即將移除的 IDeviceActionReceiver。 | 
      
disableKeyguard
public abstract void disableKeyguard ()
嘗試停用鎖定畫面。
首先等待輸入調度作業就緒,這會在裝置回報 BOOT_COMPLETE 時發生,且顯然是非同步的,因為目前的架構實作有偶發的競爭狀態。然後傳送指令來關閉螢幕鎖定畫面 (僅適用於非安全的螢幕鎖定畫面)
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          |
disableNetworkMonitor
public abstract boolean disableNetworkMonitor ()
停用裝置上的網路監控功能。
| 傳回 | |
|---|---|
boolean | 
        true,表示監控功能已成功停用。false
         (如果失敗)。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
disconnectFromWifi
public abstract boolean disconnectFromWifi ()
中斷 Wi-Fi 網路連線。
從已知網路清單中移除所有網路,並停用 Wi-Fi。
| 傳回 | |
|---|---|
boolean | 
        true,如果已成功中斷 Wi-Fi 網路連線。false
         如果取消連線失敗。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
doesFileExist
public abstract boolean doesFileExist (String deviceFilePath, 
                int userId)輔助方法,用於判斷裝置上是否有特定使用者的檔案。
| 參數 | |
|---|---|
deviceFilePath | 
        
          String:要檢查的裝置檔案絕對路徑 | 
      
userId | 
        
          int:用於檢查檔案是否存在的使用者 ID | 
      
| 傳回 | |
|---|---|
boolean | 
        如果檔案存在,則傳回 true;否則傳回 false。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
dumpHeap
public abstract File dumpHeap (String process, 
                String devicePath)嘗試從 system_server 傾印堆積。呼叫端有責任清理傾印檔案。
| 參數 | |
|---|---|
process | 
        
          String:要傾印堆積的裝置程序名稱。 | 
      
devicePath | 
        
          String:裝置上放置傾印檔案的路徑。必須是權限允許的位置。 | 
      
| 傳回 | |
|---|---|
File | 
        包含報表的 ERROR(/File)。如果失敗,則為空值。 | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
enableNetworkMonitor
public abstract boolean enableNetworkMonitor ()
啟用裝置上的網路監控功能。
| 傳回 | |
|---|---|
boolean | 
        true 表示已成功啟用監控功能。false
         (如果失敗)。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
getActiveApexes
public abstractgetActiveApexes () 
擷取裝置上已啟用的 APEX 相關資訊。
| 傳回 | |
|---|---|
 | 
        目前在裝置上啟用的 ApexInfo 的 ERROR(/Set) | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getAllSettings
public abstractgetAllSettings (String namespace) 
傳回要求命名空間的鍵/值組合。
| 參數 | |
|---|---|
namespace | 
        
          String:必須是 {"system", "secure", "global"} 其中之一 | 
      
| 傳回 | |
|---|---|
 | 
        鍵/值組合的對應關係。如果不支援命名空間,則為空值。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getAndroidId
public abstract String getAndroidId (int userId)
尋找並傳回與 userId 相關聯的 Android ID,如果找不到,則傳回 null。
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
| 傳回 | |
|---|---|
String | 
        |
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getAndroidIds
public abstractgetAndroidIds () 
建立與使用者 ID 相符的 Android ID 對應圖表。並沒有保證每個使用者 ID 都能在這個函式中找到相關聯的 Android ID,因此部分使用者 ID 可能會比對為空值。
| 傳回 | |
|---|---|
 | 
        找到相符使用者 ID 的 Android ID 對應表。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getAppPackageInfo
public abstract PackageInfo getAppPackageInfo (String packageName)
擷取裝置上已安裝套件的相關資訊。
| 參數 | |
|---|---|
packageName | 
        
          String  | 
      
| 傳回 | |
|---|---|
PackageInfo | 
        PackageInfo 或 null (如果無法擷取資訊) | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getAppPackageInfos
public abstractgetAppPackageInfos () 
擷取裝置上已安裝套件的相關資訊。
| 傳回 | |
|---|---|
 | 
        裝置上安裝的 PackageInfo ERROR(/List)。 | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getBugreport
public abstract InputStreamSource getBugreport ()
從裝置擷取錯誤報告。
這項功能的實作方式保證可在沒有 SD 卡 (或尚未掛載 SD 卡) 的裝置上繼續運作。
| 傳回 | |
|---|---|
InputStreamSource | 
        InputStreamSource 會視需求產生錯誤報告內容。如果失敗,InputStreamSource 會產生空白 ERROR(/InputStream)。 | 
      
getBugreportz
public abstract InputStreamSource getBugreportz ()
從裝置擷取 bugreportz。ZIP 格式錯誤報告包含主要錯誤報告和其他有助於偵錯的記錄檔案。
僅支援「adb 版本」> 1.0.36
| 傳回 | |
|---|---|
InputStreamSource | 
        包含 bugreportz 的 ZIP 檔案的 InputStreamSource,如果失敗,則會傳回 null。 | 
      
getCurrentFoldableState
public abstract DeviceFoldableState getCurrentFoldableState ()
傳回裝置目前的折疊狀態,如果發生問題,則傳回 null。
| 傳回 | |
|---|---|
DeviceFoldableState | 
        |
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getCurrentUser
public abstract int getCurrentUser ()
傳回目前執行中的使用者 ID。如果發生錯誤,請傳回 -10000。
| 傳回 | |
|---|---|
int | 
        |
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getFoldableStates
public abstractgetFoldableStates () 
傳回裝置上的摺疊式狀態清單。可使用「cmd device_state print-states」取得。
| 傳回 | |
|---|---|
 | 
        |
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getInstalledPackageNames
public abstractgetInstalledPackageNames () 
擷取裝置上的應用程式套件名稱。
| 傳回 | |
|---|---|
 | 
        目前裝置上已安裝的 String 套件名稱的 ERROR(/Set)。 | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getIpAddress
public abstract String getIpAddress ()
取得裝置的 IP 位址。
| 傳回 | |
|---|---|
String | 
        裝置的 IP 位址,如果裝置沒有 IP 位址,則為 null | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
getKeyguardState
public abstract KeyguardControllerState getKeyguardState ()
傳回物件,以取得 Keyguard 的目前狀態;如果不支援,則傳回空值。
| 傳回 | |
|---|---|
KeyguardControllerState | 
        KeyguardControllerState 包含 Keyguard 狀態的快照,如果系統不支援 Keyguard 查詢,則會傳回空值。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
getMainUserId
public abstract Integer getMainUserId ()
傳回主要使用者 ID。
| 傳回 | |
|---|---|
Integer | 
        主要使用者的 userId (如果有),如果沒有主要使用者,則為空值。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceRuntimeException | 
          如果裝置的輸出內容不如預期。 | 
DeviceNotAvailableException | 
          |
getMainlineModuleInfo
public abstractgetMainlineModuleInfo () 
取得裝置上安裝的主線程式模組相關資訊。
| 傳回 | |
|---|---|
 | 
        String 主線模組目前在裝置上安裝的 ERROR(/Set)。 | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getMaxNumberOfRunningUsersSupported
public abstract int getMaxNumberOfRunningUsersSupported ()
取得支援的同時執行使用者人數上限。預設為 0。
| 傳回 | |
|---|---|
int | 
        整數,表示同時執行的使用者人數 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getMaxNumberOfUsersSupported
public abstract int getMaxNumberOfUsersSupported ()
取得支援的使用者人數上限。預設為 0。
| 傳回 | |
|---|---|
int | 
        整數,用來指定支援的使用者人數 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getOptions
public abstract TestDeviceOptions getOptions ()
擷取裝置的測試選項。
| 傳回 | |
|---|---|
TestDeviceOptions | 
        TestDeviceOptions 與測試中的裝置相關。 | 
      
getPrimaryUserId
public abstract Integer getPrimaryUserId ()
      This method is deprecated.
    getPrimaryUser 已從 UserManager 服務停用,請使用 ERROR(/android.os.UserManager#getMainUserId()) 取得第一個完整使用者,或取得系統的 0。請注意,對於無頭系統而言,這並非完整使用者。
傳回主要使用者 ID。
| 傳回 | |
|---|---|
Integer | 
        主要使用者的 userId (如果有),如果沒有主要使用者,則為空值。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceRuntimeException | 
          如果裝置的輸出內容不如預期, | 
DeviceNotAvailableException | 
          |
getScreenshot
public abstract InputStreamSource getScreenshot (String format, boolean rescale)
擷取裝置的螢幕截圖。建議改用 getScreenshot(String) 搭配 JPEG 編碼,以縮小檔案大小。
| 參數 | |
|---|---|
format | 
        
          String:支援 PNG、JPEG | 
      
rescale | 
        
          boolean:是否應重新調整螢幕截圖,以縮小產生的圖片大小 | 
      
| 傳回 | |
|---|---|
InputStreamSource | 
        螢幕截圖的 InputStreamSource 格式,如果螢幕截圖失敗,則為 null。 | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getScreenshot
public abstract InputStreamSource getScreenshot (long displayId)
從裝置的指定顯示 ID 擷取螢幕截圖。格式為 PNG。
TODO:擴充上述實作項目,以支援「format」和「rescale」
| 參數 | |
|---|---|
displayId | 
        
          long:要擷取螢幕截圖的螢幕顯示 ID。 | 
      
| 傳回 | |
|---|---|
InputStreamSource | 
        螢幕截圖的 InputStreamSource 格式,如果螢幕截圖失敗,則為 null。 | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getScreenshot
public abstract InputStreamSource getScreenshot (String format)
擷取裝置的螢幕截圖。建議改用 getScreenshot(format) 搭配 JPEG 編碼,以縮減檔案大小
| 參數 | |
|---|---|
format | 
        
          String:支援 PNG、JPEG | 
      
| 傳回 | |
|---|---|
InputStreamSource | 
        螢幕截圖的 InputStreamSource 格式,如果螢幕截圖失敗,則為 null。 | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getScreenshot
public abstract InputStreamSource getScreenshot ()
擷取裝置的螢幕截圖。
| 傳回 | |
|---|---|
InputStreamSource | 
        以 PNG 格式提供螢幕截圖的 InputStreamSource,如果螢幕截圖未成功,則提供 null。 | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getSetting
public abstract String getSetting (int userId, 
                String namespace, 
                String key)傳回所要求設定的值。命名空間必須為下列其中之一:{"system", "secure", "global"}
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
namespace | 
        
          String  | 
      
key | 
        
          String  | 
      
| 傳回 | |
|---|---|
String | 
        與使用者 namespace:key 相關聯的值。如果找不到,則為空值。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getSetting
public abstract String getSetting (String namespace, 
                String key)請參閱 getSetting(int, String, String),並在系統使用者上執行。
| 參數 | |
|---|---|
namespace | 
        
          String  | 
      
key | 
        
          String  | 
      
| 傳回 | |
|---|---|
String | 
        |
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getUninstallablePackageNames
public abstractgetUninstallablePackageNames () 
擷取可解除安裝的應用程式套件名稱。目前定義為非系統套件和更新的系統套件。
| 傳回 | |
|---|---|
 | 
        ERROR(/Set) 目前已安裝在裝置上的可解除安裝 String 套件名稱。 | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getUserFlags
public abstract int getUserFlags (int userId)
尋找並傳回特定使用者的標記。旗標是在 Android 開放原始碼計畫的「android.content.pm.UserInfo」類別中定義。
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
| 傳回 | |
|---|---|
int | 
        與提供的 userId 相關聯的標記 (如果找到),否則為 -10000。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
getUserInfos
public abstractgetUserInfos () 
取得裝置上 useId 到 UserInfo 的對應表。如果裝置的輸出內容與預期不符,就會擲回 DeviceRuntimeException。
| 傳回 | |
|---|---|
 | 
        UserInfo 物件清單。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
 | 
          com.android.tradefed.device.DeviceRuntimeException | 
DeviceNotAvailableException | 
          |
getUserSerialNumber
public abstract int getUserSerialNumber (int userId)
如果找到,則傳回與 userId 相關聯的序號,否則傳回 -10000。
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
| 傳回 | |
|---|---|
int | 
        |
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
hasFeature
public abstract boolean hasFeature (String feature)
檢查裝置是否支援某項功能。
| 參數 | |
|---|---|
feature | 
        
          String:應直接使用「feature: | 
      
| 傳回 | |
|---|---|
boolean | 
        如果找到功能,則傳回「是」;否則傳回「否」。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
installPackage
public abstract 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 abstract 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 | 
          如果與裝置的連線中斷且無法復原。 | 
UnsupportedOperationException | 
          如果裝置平台不支援執行階段權限。 | 
installPackageForUser
public abstract 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 abstract 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 | 
          如果與裝置的連線中斷且無法復原。 | 
UnsupportedOperationException | 
          如果裝置平台不支援執行階段權限。 | 
installPackages
public String installPackages (packageFiles, boolean reinstall, String... extraArgs) 
安裝由多個 APK 檔案 (一個主要和額外分割套件) 組成的 Android 應用程式。如要瞭解如何將 APK 分割成多個檔案,請參閱「https://developer.android.com/studio/build/configure-apk-splits」。
| 參數 | |
|---|---|
packageFiles | 
        
          :本機 APK 檔案 | 
      
reinstall | 
        
          boolean:true (如果應執行重新安裝作業) | 
      
extraArgs | 
        
          String:要傳遞的選用額外引數。如要瞭解可用的選項,請參閱「adb shell pm -h」。 | 
      
| 傳回 | |
|---|---|
String | 
        String (含有錯誤代碼),或 null (成功時)。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
UnsupportedOperationException | 
          如果裝置平台不支援執行階段權限。 | 
installPackages
public String installPackages (packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs) 
安裝由多個 APK 檔案 (一個主要和額外分割套件) 組成的 Android 應用程式,這些檔案位於 Android 裝置上。如要瞭解如何將 APK 分割成多個檔案,請參閱「https://developer.android.com/studio/build/configure-apk-splits」。
注意:只有需要在安裝時明確控制授予執行階段權限的用途,才應呼叫此函式。
| 參數 | |
|---|---|
packageFiles | 
        
          :要安裝的遠端 APK 檔案路徑 | 
      
reinstall | 
        
          boolean:true (如果應執行重新安裝作業) | 
      
grantPermissions | 
        
          boolean:是否應在安裝時授予所有執行階段權限 | 
      
extraArgs | 
        
          String:要傳遞的選用額外引數。如要瞭解可用的選項,請參閱「adb shell pm -h」。 | 
      
| 傳回 | |
|---|---|
String | 
        String (含有錯誤代碼),或 null (成功時)。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
UnsupportedOperationException | 
          如果裝置平台不支援執行階段權限。 | 
installPackagesForUser
public String installPackagesForUser (packageFiles, boolean reinstall, int userId, String... extraArgs) 
為特定使用者安裝由多個 APK 檔案 (一個主要檔案和額外分割套件) 組成的 Android 應用程式。如要瞭解如何將 APK 分割成多個檔案,請參閱「https://developer.android.com/studio/build/configure-apk-splits」。
| 參數 | |
|---|---|
packageFiles | 
        
          :本機 APK 檔案 | 
      
reinstall | 
        
          boolean:true (如果應執行重新安裝作業) | 
      
userId | 
        
          int:要為其安裝的整數使用者 ID。 | 
      
extraArgs | 
        
          String:要傳遞的選用額外引數。如要瞭解可用的選項,請參閱「adb shell pm -h」。 | 
      
| 傳回 | |
|---|---|
String | 
        String (含有錯誤代碼),或 null (成功時)。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
UnsupportedOperationException | 
          如果裝置平台不支援執行階段權限。 | 
installPackagesForUser
public String installPackagesForUser (packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs) 
為特定使用者安裝由多個 APK 檔案 (一個主要檔案和額外分割套件) 組成的 Android 應用程式。如要瞭解如何將 APK 分割成多個檔案,請參閱「https://developer.android.com/studio/build/configure-apk-splits」。
注意:只有需要在安裝時明確控制授予執行階段權限的用途,才應呼叫此函式。
| 參數 | |
|---|---|
packageFiles | 
        
          :本機 APK 檔案 | 
      
reinstall | 
        
          boolean:true (如果應執行重新安裝作業) | 
      
grantPermissions | 
        
          boolean:是否應在安裝時授予所有執行階段權限 | 
      
userId | 
        
          int:要為其安裝的整數使用者 ID。 | 
      
extraArgs | 
        
          String:要傳遞的選用額外引數。如要瞭解可用的選項,請參閱「adb shell pm -h」。 | 
      
| 傳回 | |
|---|---|
String | 
        String (含有錯誤代碼),或 null (成功時)。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
UnsupportedOperationException | 
          如果裝置平台不支援執行階段權限。 | 
installRemotePackages
public String installRemotePackages (remoteApkPaths, boolean reinstall, String... extraArgs) 
安裝由多個 APK 檔案 (一個主要和額外分割套件) 組成的 Android 應用程式,這些檔案位於 Android 裝置上。如要瞭解如何將 APK 分割成多個檔案,請參閱「https://developer.android.com/studio/build/configure-apk-splits」。
| 參數 | |
|---|---|
remoteApkPaths | 
        
          :遠端 APK 檔案路徑 | 
      
reinstall | 
        
          boolean:true (如果應執行重新安裝作業) | 
      
extraArgs | 
        
          String:要傳遞的選用額外引數。如要瞭解可用的選項,請參閱「adb shell pm -h」。 | 
      
| 傳回 | |
|---|---|
String | 
        String (含有錯誤代碼),或 null (成功時)。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
UnsupportedOperationException | 
          如果裝置平台不支援執行階段權限。 | 
installRemotePackages
public String installRemotePackages (remoteApkPaths, boolean reinstall, boolean grantPermissions, String... extraArgs) 
安裝由多個 APK 檔案 (一個主要和額外分割套件) 組成的 Android 應用程式,這些檔案位於 Android 裝置上。如要瞭解如何將 APK 分割成多個檔案,請參閱「https://developer.android.com/studio/build/configure-apk-splits」。
注意:只有需要在安裝時明確控制授予執行階段權限的用途,才應呼叫此函式。
| 參數 | |
|---|---|
remoteApkPaths | 
        
          :遠端 APK 檔案路徑 | 
      
reinstall | 
        
          boolean:true (如果應執行重新安裝作業) | 
      
grantPermissions | 
        
          boolean:是否應在安裝時授予所有執行階段權限 | 
      
extraArgs | 
        
          String:要傳遞的選用額外引數。如要瞭解可用的選項,請參閱「adb shell pm -h」。 | 
      
| 傳回 | |
|---|---|
String | 
        String (含有錯誤代碼),或 null (成功時)。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
UnsupportedOperationException | 
          如果裝置平台不支援執行階段權限。 | 
isHeadlessSystemUserMode
public abstract boolean isHeadlessSystemUserMode ()
傳回裝置是否使用無頭系統使用者模式。
| 傳回 | |
|---|---|
boolean | 
        |
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          |
isMainUserPermanentAdmin
public abstract boolean isMainUserPermanentAdmin ()
傳回主要使用者是否為永久管理員,且無法刪除或降級為非管理員狀態。
| 傳回 | |
|---|---|
boolean | 
        |
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          |
isMultiUserSupported
public abstract boolean isMultiUserSupported ()
判斷是否支援多位使用者。
| 傳回 | |
|---|---|
boolean | 
        如果支援多用戶,則傳回 true;否則傳回 false | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
isPackageInstalled
public abstract boolean isPackageInstalled (String packageName, 
                String userId)針對裝置中的特定套件名稱和使用者 ID 執行查詢,確認該使用者目前是否已安裝該套件。
| 參數 | |
|---|---|
packageName | 
        
          String:我們要檢查的套件是否已安裝。 | 
      
userId | 
        
          String:我們要檢查套件安裝的使用者 ID。如果為空值,系統會使用主要使用者零。 | 
      
| 傳回 | |
|---|---|
boolean | 
        如果套件已回報為已安裝,則為 True。否則為 False。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
isPackageInstalled
public abstract boolean isPackageInstalled (String packageName)
針對裝置中的特定套件名稱執行查詢,確認目前是否已安裝該套件。
| 參數 | |
|---|---|
packageName | 
        
          String  | 
      
| 傳回 | |
|---|---|
boolean | 
        如果套件已回報為已安裝,則為 True。否則為 False。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
isUserRunning
public abstract boolean isUserRunning (int userId)
檢查特定使用者是否正在執行。
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
| 傳回 | |
|---|---|
boolean | 
        如果使用者正在執行,則為 True;否則為 False。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
isUserSecondary
public abstract boolean isUserSecondary (int userId)
根據指定使用者的標記,傳回該使用者是否為次要使用者。
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
| 傳回 | |
|---|---|
boolean | 
        如果使用者是次要使用者,則傳回 true;否則傳回 false。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
isUserVisible
public abstract boolean isUserVisible (int userId)
檢查指定使用者是否可見。
「可見」使用者是指與「人類」使用者互動的使用者,因此能夠啟動活動 (通常是在預設顯示畫面中)。
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
| 傳回 | |
|---|---|
boolean | 
        |
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          |
isUserVisibleOnDisplay
public abstract boolean isUserVisibleOnDisplay (int userId, 
                int displayId)檢查指定使用者是否會顯示在指定顯示畫面中。
「可見」使用者是指與「人類」使用者互動的使用者,因此可在該顯示畫面中啟動活動。
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
displayId | 
        
          int  | 
      
| 傳回 | |
|---|---|
boolean | 
        |
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          |
isVisibleBackgroundUsersOnDefaultDisplaySupported
public abstract 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 abstract boolean isVisibleBackgroundUsersSupported ()
傳回裝置是否允許使用者在背景啟動。
如果是,您可以呼叫 startVisibleBackgroundUser(int, int, boolean),傳遞 listDisplayIdsForStartingVisibleBackgroundUsers() 傳回的顯示內容。
| 傳回 | |
|---|---|
boolean | 
        |
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          |
isWifiEnabled
public abstract boolean isWifiEnabled ()
測試是否已啟用 Wi-Fi。
檢查裝置是否已啟用 Wi-Fi。在測試前斷言 Wi-Fi 狀態時非常實用,例如行動數據測試。
| 傳回 | |
|---|---|
boolean | 
        true (如果已啟用 Wi-Fi)。false (如果已停用) | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
listDisplayIds
public abstractlistDisplayIds () 
收集裝置上可用顯示器 ID 的清單,並由「dumpsys SurfaceFlinger」回報。
| 傳回 | |
|---|---|
 | 
        螢幕清單。預設值一律會傳回預設顯示值 0。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
listDisplayIdsForStartingVisibleBackgroundUsers
public abstractlistDisplayIdsForStartingVisibleBackgroundUsers () 
取得可用於 start a user visible in the background 的螢幕清單。
| 傳回 | |
|---|---|
 | 
        |
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          |
listUsers
public abstractlistUsers () 
取得裝置上的使用者清單。如果裝置的輸出內容不如預期,系統會擲回 DeviceRuntimeException。
| 傳回 | |
|---|---|
 | 
        使用者 ID 清單。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
 | 
          com.android.tradefed.device.DeviceRuntimeException | 
DeviceNotAvailableException | 
          |
logBugreport
public abstract boolean logBugreport (String dataName, 
                ITestLogger listener)輔助方法,可取得錯誤報告並記錄至記錄器。
| 參數 | |
|---|---|
dataName | 
        
          String:BugReport 回報的名稱。 | 
      
listener | 
        
          ITestLogger:用於記錄錯誤報告的 ITestLogger。 | 
      
| 傳回 | |
|---|---|
boolean | 
        如果記錄成功,則傳回 True,否則傳回 false。 | 
notifySnapuserd
public void notifySnapuserd (SnapuserdWaitPhase waitPhase)
通知裝置等待 snapuserd 完成。
| 參數 | |
|---|---|
waitPhase | 
        
          SnapuserdWaitPhase  | 
      
registerDeviceActionReceiver
public abstract void registerDeviceActionReceiver (IDeviceActionReceiver deviceActionReceiver)
為這部裝置註冊 IDeviceActionReceiver。
在裝置動作開始前和結束後,所有已註冊的 IDeviceActionReceiver 都會收到通知。
| 參數 | |
|---|---|
deviceActionReceiver | 
        
          IDeviceActionReceiver:將要註冊的 IDeviceActionReceiver。 | 
      
removeAdmin
public abstract boolean removeAdmin (String componentName, 
                int userId)從指定使用者中移除指定的裝置管理員,如果成功則傳回 true,否則傳回 false。
| 參數 | |
|---|---|
componentName | 
        
          String:要移除的裝置管理員。 | 
      
userId | 
        
          int:裝置管理員所在的使用者。 | 
      
| 傳回 | |
|---|---|
boolean | 
        如果成功,則傳回 True,否則傳回 False。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
removeOwners
public abstract void removeOwners ()
盡可能移除所有現有的裝置設定檔擁有者。
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
removeUser
public abstract boolean removeUser (int userId)
從裝置中移除特定使用者。
| 參數 | |
|---|---|
userId | 
        
          int:要移除的使用者 | 
      
| 傳回 | |
|---|---|
boolean | 
        如果移除使用者成功,則傳回 true,否則傳回 false。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
setDeviceOwner
public abstract boolean setDeviceOwner (String componentName, 
                int userId)將裝置管理員元件設為特定使用者的裝置擁有者。
| 參數 | |
|---|---|
componentName | 
        
          String:裝置管理員為裝置擁有者。 | 
      
userId | 
        
          int:裝置擁有者所在國家/地區的使用者。 | 
      
| 傳回 | |
|---|---|
boolean | 
        如果成功,則傳回 True,否則傳回 False。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
setSetting
public abstract void setSetting (String namespace, 
                String key, 
                String value)請參閱 setSetting(int, String, String, String),並在系統使用者上執行。
| 參數 | |
|---|---|
namespace | 
        
          String  | 
      
key | 
        
          String  | 
      
value | 
        
          String  | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
setSetting
public abstract void setSetting (int userId, 
                String namespace, 
                String key, 
                String value)將設定值新增至特定使用者的命名空間。部分設定必須重新啟動後才能使用。命名空間必須為下列其中之一:{"system", "secure", "global"}
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
namespace | 
        
          String  | 
      
key | 
        
          String  | 
      
value | 
        
          String  | 
      
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
startUser
public abstract boolean startUser (int userId)
如果使用者目前已停止,則在背景啟動該使用者。如果使用者已在背景執行,這個方法就是 NOOP。
| 參數 | |
|---|---|
userId | 
        
          int:要以背景方式啟動的使用者 | 
      
| 傳回 | |
|---|---|
boolean | 
        如果使用者已成功在背景啟動,則為 true。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
startUser
public abstract boolean startUser (int userId, 
                boolean waitFlag)如果使用者目前已停止,則在背景啟動該使用者。如果使用者已在背景執行,這個方法就是 NOOP。可提供額外旗標,等待作業生效。
| 參數 | |
|---|---|
userId | 
        
          int:要以背景方式啟動的使用者 | 
      
waitFlag | 
        
          boolean:會讓指令等待使用者啟動並解鎖。 | 
      
| 傳回 | |
|---|---|
boolean | 
        如果使用者已成功在背景啟動,則為 true。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
startVisibleBackgroundUser
public abstract boolean startVisibleBackgroundUser (int userId, 
                int displayId, 
                boolean waitFlag)在背景啟動特定使用者,並在指定螢幕上顯示 (也就是允許使用者在該螢幕上啟動活動)。
注意: 這個指令不會檢查使用者是否存在、是否可顯示 device supports such feature 等。
| 參數 | |
|---|---|
userId | 
        
          int:要以背景方式啟動的使用者 | 
      
displayId | 
        
          int:顯示給啟動使用者看 | 
      
waitFlag | 
        
          boolean:會讓指令等待使用者啟動並解鎖。 | 
      
| 傳回 | |
|---|---|
boolean | 
        true:如果使用者已成功在背景啟動可見。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          |
stopUser
public abstract boolean stopUser (int userId)
停止特定使用者。如果使用者已停止,這個方法就是 NOOP。無法停止目前和系統使用者。
| 參數 | |
|---|---|
userId | 
        
          int:要停止的使用者。 | 
      
| 傳回 | |
|---|---|
boolean | 
        如果使用者已成功停止,則傳回 true。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
stopUser
public abstract boolean stopUser (int userId, 
                boolean waitFlag, 
                boolean forceFlag)停止特定使用者。您可以提供額外的旗標,等待作業生效,並強制終止使用者。無法停止目前和系統使用者。
| 參數 | |
|---|---|
userId | 
        
          int:要停止的使用者。 | 
      
waitFlag | 
        
          boolean:會讓指令等待使用者停止。 | 
      
forceFlag | 
        
          boolean:會強制停止使用者。 | 
      
| 傳回 | |
|---|---|
boolean | 
        如果使用者已成功停止,則傳回 true。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
switchUser
public abstract boolean switchUser (int userId)
切換至另一個使用者 ID,並設定預設逾時時間。switchUser(int, long)。
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
| 傳回 | |
|---|---|
boolean | 
        如果新 userId 與 userId 供應工具相符,則為「是」。否則為 False。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
switchUser
public abstract boolean switchUser (int userId, 
                long timeout)以提供的逾時期限為期限,切換至其他 userId。在使用者變更成功後,嘗試停用螢幕鎖定。
| 參數 | |
|---|---|
userId | 
        
          int  | 
      
timeout | 
        
          long:等待後再傳回 false,表示切換使用者失敗。 | 
      
| 傳回 | |
|---|---|
boolean | 
        如果新 userId 與 userId 供應工具相符,則為「是」。否則為 False。 | 
| 擲回 | |
|---|---|
 | 
          com.android.tradefed.device.DeviceNotAvailableException | 
DeviceNotAvailableException | 
          |
takeBugreport
public abstract Bugreport takeBugreport ()
取得 bugreport,並將其傳回至 Bugreport 物件中加以處理。發生問題時傳回空值。您必須透過 Bugreport.close() 清除 Bugreport 物件中參照的檔案。
| 傳回 | |
|---|---|
Bugreport | 
        |
uninstallPackage
public abstract String uninstallPackage (String packageName)
從裝置上解除安裝 Android 套件。
| 參數 | |
|---|---|
packageName | 
        
          String:要解除安裝的 Android 套件 | 
      
| 傳回 | |
|---|---|
String | 
        String (含有錯誤代碼),或 null (成功時)。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
uninstallPackageForUser
public abstract String uninstallPackageForUser (String packageName, 
                int userId)針對特定使用者,從裝置上解除安裝 Android 套件。
| 參數 | |
|---|---|
packageName | 
        
          String:要解除安裝的 Android 套件 | 
      
userId | 
        
          int:要解除安裝的整數使用者 ID。 | 
      
| 傳回 | |
|---|---|
String | 
        String (含有錯誤代碼),或 null (成功時)。 | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          如果與裝置的連線中斷且無法復原。 | 
waitForSnapuserd
public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)
如果預期如此,請等待 snapuserd 完成。
| 參數 | |
|---|---|
currentPhase | 
        
          SnapuserdWaitPhase  | 
      
| 擲回 | |
|---|---|
DeviceNotAvailableException | 
          |