IncrementalInstallSession
public class IncrementalInstallSession
extends Object implements AutoCloseable
| java.lang.Object | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
Используется для создания сеанса инкрементальной установки пакетов, в ходе которого блоки установленных APK-файлов передаются на устройство по мере необходимости их чтения.
Инкрементальная установка использует инкрементальную файловую систему (IncFs), позволяющую завершить установку до того, как весь APK-файл будет передан на устройство. Этот класс можно использовать для запуска инкрементальной установки, управления тем, какие блоки APK-файла разрешено передавать на устройство, и ожидания завершения установки APK-файла и/или передачи всех блоков на устройство.
Соединение с устройством остается открытым до тех пор, пока сессия не будет закрыта, установка не завершится неудачей, не истечет время ожидания соединения с устройством или не возникнет исключение при обработке запросов на блокировку от устройства.
Примером использования этого класса является:
try (IncrementalInstallSession session = new IncrementalInstallSession.Builder()
.addApk(mTestApk0, mTestSignature0)
.build()) {
// Start the session on a separate thread.
session.start(Executors.newCachedThreadPool(), mockDevice.getFactory());
// Wait a maximum of 45 seconds for the install to finish.
session.waitForInstallCompleted(45, TimeUnit.SECONDS);
}Краткое содержание
Вложенные классы | |
|---|---|
class | IncrementalInstallSession.Builder |
Общедоступные методы | |
|---|---|
void | close ()Отменяет связь с устройством. |
IncrementalInstallSession | start (Executor executor, IDeviceConnection.Factory conFactory)Запускает сеанс установки потокового приложения. |
void | waitForAnyCompletion (long timeout, TimeUnit units)Блокирует текущий поток до тех пор, пока данные APK не будут переданы на устройство или не завершится установка. |
void | waitForInstallCompleted (long timeout, TimeUnit units)Блокирует текущий поток до тех пор, пока все APK-файлы не будут успешно установлены. |
void | waitForServingCompleted (long timeout, TimeUnit units)Блокирует текущий поток до тех пор, пока все данные APK не будут переданы на устройство. |
Общедоступные методы
закрывать
public void close ()
Отменяет связь с устройством.
начинать
public IncrementalInstallSession start (Executor executor, IDeviceConnection.Factory conFactory)
Запускает сеанс установки потокового приложения.
| Параметры | |
|---|---|
executor | Executor : исполнитель, на котором запускается обработка запросов на блокировку данных от устройства. |
conFactory | IDeviceConnection.Factory : фабрика подключений устройств. |
| Возвраты | |
|---|---|
IncrementalInstallSession | |
| Броски | |
|---|---|
IOException | если при обмене данными с устройством произойдет ошибка |
waitForAnyComplete
public void waitForAnyCompletion (long timeout,
TimeUnit units)Блокирует текущий поток до тех пор, пока данные APK не будут переданы на устройство или не завершится установка.
| Параметры | |
|---|---|
timeout | long : максимальное время ожидания. Значение 0 приведет к тому, что этот метод будет ожидать бесконечно. |
units | TimeUnit : единицы измерения ненулевого timeout |
| Броски | |
|---|---|
IOException | Если время ожидания истекает, установка APK-файла не удается, или возникает исключение при обработке запросов на блокировку. |
InterruptedException | |
waitForInstalListCompleted
public void waitForInstallCompleted (long timeout,
TimeUnit units)Блокирует текущий поток до тех пор, пока все APK-файлы не будут успешно установлены. Передача данных может завершиться до или после успешной установки.
| Параметры | |
|---|---|
timeout | long : максимальное время ожидания завершения установки. Значение 0 приведет к тому, что этот метод будет ожидать бесконечно. |
units | TimeUnit : единицы измерения ненулевого timeout |
| Броски | |
|---|---|
IOException | Если время ожидания истекает, установка APK-файла не удается, или возникает исключение при обработке запросов на блокировку. |
InterruptedException | |
waitForServingComplete
public void waitForServingCompleted (long timeout,
TimeUnit units)Блокирует текущий поток до тех пор, пока все данные APK не будут переданы на устройство. Установка может завершиться до или после завершения обслуживания.
| Параметры | |
|---|---|
timeout | long : максимальное время ожидания завершения обработки запроса. Значение 0 приведет к тому, что этот метод будет ожидать бесконечно. |
units | TimeUnit : единицы измерения ненулевого timeout |
| Броски | |
|---|---|
IOException | Если время ожидания истекает, потоковая передача APK-файла не удается, или возникает исключение при обработке запросов на блокировку. |
InterruptedException | |
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2026-06-22 UTC.